본문 바로가기

Java

[Java] 현재 날짜, 시간 출력

Java API를 사용하여 현재 날짜 및 현재 시간을 구할 수 있다.

 

Java 8 이전

1. java.util.Date

2. java.util.Calendar

 

Java 8 이후

1. java.time.LocalDate -> 날짜를 표현하는 클래스

2. java.time.LocalTime -> 시간을 표현하는 클래스

3. java.time.LocalDateTime -> 날짜와 시간을 표현하는 클래스

 

Java 8 이후부터는 java.time 패키지의 클래스들을 사용하여 날짜와 시간을 표현한다.

SimpleDateFormat으로 현재 시간, 날짜를 원하는 형식으로 출력하는 방법이 있다.

 

현재 날짜, 시간 출력

"yyyy-MM-dd"와 같은 패턴으로 SimpleDateFormat 객체를 생성할 수 있다.

format()에 시간 객체를 전달해주면 입력된 패턴으로 문자열을 생성해 리턴해 준다.

 

int year = now.getYear();

년도를 가져옵니다.


String month = now.getMonth().toString();

getMonth() 메소드는 해당월을 나타내는 java.time.Month Enum을 리턴합니다.

리턴받은 Month 객체의 toString() 메소드를 이용하여, 월의 이름을 출력하였습니다.

Month 객체를 사용하여, 월을 숫자로 출력하고 싶다면,

now.getMonth().getValue() 를 사용할 수도 있습니다.


int monthValue = now.getMonthValue();

월을 숫자로 표현하기 위해서 now.getMonth().getValue()를 사용할 수도 있지만,

LocalDate 객체의 getMonthValue() 메소드를 사용 할 수도 있습니다.


int dayOfMonth = now.getDayOfMonth();

월의 몇번째 날짜인지를 int로 나타냅니다.


int dayOfYear = now.getDayOfYear();

년의 몇번째 날짜인지를 int로 나타냅니다.


String dayOfWeek = now.getDayOfWeek().toString();

getDayOfWeek() 메소드는 요일을 나타낼수 있는 DayOfWeek Enum 객체를 리턴합니다.

그리고, DayOfWeek 객체의 toString() 메소드를 사용하여, 요일을 텍스트로 출력하였습니다.

 

int dayOfWeekValue = now.getDayOfWeek().getValue();

DayOfWeek 객체의 getValue() 메소드를 사용하여 요일을 숫자로 변환할 수 있습니다.

월요일(1) ~ 일요일(7)을 리턴합니다.

 

'Java' 카테고리의 다른 글

[Java] 10진수 <-> 16진수 변환  (0) 2021.11.17
[Java] Math.abs()  (0) 2021.11.16
[Java] BigInteger  (0) 2021.11.16
[Java] StringTokenizer  (0) 2021.11.16
[Java] BufferedReader / BufferWriter  (0) 2021.11.16