자바 1.8에서는 기존의 Date, Calendar의 단점을 보완하여 java.time 패키지를 추가하였습니다.
주요 클래스
클래스
설명
LocalDate
날짜를 구하는 클래스입니다.
LocalTime
시간을 구하는 클래스입니다.
LocalDateTime
날짜와 시간을 구하는 클래스입니다.
LocalDate 샘플 코드
LocalDate date =LocalDate.now();System.out.println(date.toString());System.out.println(date.getYear());System.out.println(date.getMonthValue());System.out.println(date.getMonth());System.out.println(date.getDayOfMonth());System.out.println(date.getDayOfWeek());
실행 결과
2018-12-09
2018
12
DECEMBER
9
SUNDAY
LocalTime 샘플 코드
LocalTime time =LocalTime.now();System.out.println(time.toString());System.out.println(time.getHour());System.out.println(time.getMinute());System.out.println(time.getSecond());System.out.println(time.getNano());
String time =LocalDate.now().format(DateTimeFormatter.ofPattern("y년 M월 d일"));System.out.println("time = "+time);|
LocalDateTime과 DateFormatter 예제
LocalDateTime date =LocalDateTime.now();String time =date.format(DateTimeFormatter.ofPattern("y년 M월 d일 E a h:mm:ss"));System.out.println("time = "+time);
Period를 활용하여 LocalDate 계산
Period를 이용하여 LocalDate간의 차이를 구할 수 있습니다. 아래 예제는 오늘부터 올해 크리스마스까지의 남은 날짜수를 구하는 예제입니다.
LocalDate today =LocalDate.now();LocalDate x_mas =LocalDate.of(today.getYear(),12,25);Period period =Period.between(today, x_mas);System.out.println("크리스마스까지 남은 일 수는 다음과 같습니다"); System.out.println(period.getDays());
실행 결과
크리스마스까지 남은 일 수는 다음과 같습니다
15
Duration을 활용하여 LocalDateTime 계산
시/분/초가 포함된 차이를 구하고 싶을 때에는 Period 대신 Duration을 사용합니다. 다음 예제는 Duration을 이용하여 LocalTime간의 차이를 구하는 예제입니다.
LocalTime now =LocalTime.now();LocalTime later =now.plusHours(1L);System.out.println("now = "+now);System.out.println("later = "+later);Duration duration =Duration.between(now, later);System.out.println("차이(초) = "+duration.getSeconds());
실행 결과
now = 21:00:43.972531300
later = 22:00:43.972531300
차이(초) = 3600