날짜와 시간
Calendar와 Date
Date는 날짜와 시간을 다룰 목적으로 제공되는 클래스이다. Date 클래스의 단점을 보완한 Calendar라는 클래스가 나왔지만 몇 가지 단점이 발견되었다. JDK 1.8부터 'java.time 패키지'로 기존의 단점을 개선했다.
Calendar는 추상 클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다.
Calendar cal = new Calendar(); // 에러!
Calendar cal = Calendar.getInstance();
java.time 패키지
객체 생성하기 - now(), of()
LocalDate date = LocalDate.now(); // 2024-11-25
LocalTime time = LocalTime.now(); // 14:30:01.872
LocalDateTime dateTime = LocalDateTime.now(); // 2024-11-25T14:30:01.872
ZonedDateTime dateTimeInKr = ZonedDateTime.now(); //2024-11-25T14:30:01.872+09:00[Asia/Seoul]
LocalDate date = LocalDate.of(2015, 11, 23); // 2015년 11월 23일
LocalTime time = LocalTime.of(23, 59, 59); // 23시 59분 59초
LocalDateTime dateTime = LocalDateTime.of(date, time);
ZonedDateTime zDateTime = ZonedDateTime.of(dateTime, ZonedId.of("Asia/seoul"));
Period와 Duration
Period - 날짜의 차이
Duration - 시간의 차이
LocalDate date1 = LocalDate.of(2014, 1, 1);
LocalDate date2 = LocalDate.of(2015, 12, 31);
period pe = Period.between(date1, date2);
--------------------------------------------
LocalTime time1 = LocalTime.of(00, 00, 00);
LocalTime time2 = LocalTime.of(12, 34, 56);
Duration du = Duration.between(time1, time2);'자바 > Java의 정석' 카테고리의 다른 글
| [Chapter 12] 지네릭스, 열거형, 애너테이션 (1) | 2024.11.26 |
|---|---|
| [Chapter 11] 컬렉션 프레임웍 (1) | 2024.11.26 |
| [Chapter 09] java.lang 패키지와 유용한 클래스 (0) | 2024.11.24 |
| [Chapter 08] 예외처리 (0) | 2024.11.23 |
| [Chapter 07] 객체지향 프로그래밍 II (2) | 2024.11.19 |