LocalDate date = LocalDate.of(2023, 12, 25);
int year = date.getYear();
Month month = date.getMonth();
int day = date.getDayOfMonth();
DayOfWeek dow = date.getDayOfWeek();
int len = date.lengthOfMonth();
boolean leap = date.isLeapYear();
그럼 2023-12-252023DECEMBER25MONDAY31false
이렇게 출력될 것이다.
LocalDate today = LocalDate.now();
는 시스템 시계의 정보를 이용해서 현재 날짜 정보를 얻는다.
LocalDate date = LocalDate.parse("2023-12-25");
LocalTime time = LocalTime.parse("13:43:20");
Duration threeMinutes = Duration.ofMinutes(3);
Duration threeMinutes = Duration.of(3, ChronoUnit.MINUTES);
Period tenDays = Period.ofDays(10);
Period ThreeWeeks = Period.ofWeeks(3);
Period twoYearsSixMonthsOneDay = Period.of(2, 6, 1);
Duration과 Period 클래스가 공통으로 제공하는 메서드들을 소개한다.
💜 between 두 시간 사이의 간격을 생성함
💜 from 시간 단위로 간격을 생성함
💜 of 주어진 구성 요소에서 간격 인스턴스 생성
💜 parse 문자열을 파싱해서 간격 인스턴스 생성
💜 addTo 현재값의 복사본을 생성한 뒤 지정된 Temporal객체에 추가
💜 get 현재 간격 정보값을 읽음
💜 isNegative 간격이 음수인지?
💜 isZero 간격이 0인지?
💜 minus 현재값에서 주어진 시간을 뺀 복사본을 생성
💜 multipliedBy 현재값에 주어진 값을 곱한 복사본 생성
💜 negated 주어진 값의 부호 반전한 복사본 생성
💜 plus 현재값에 주어진 시간을 더한 복사본을 생성
💜 subtractFrom 지정된 Temporal 객체에서 간격을 뺌
날짜를 조정하고 싶다면 ?
LocalDate dt1 = LocalDate.of(2023, 12, 25);
LocalDate dt2 = dt1.withYear(2022);
LocalDate dt3 = dt2.withDayOfMonth(24);
LocalDate dt4 = dt3.with(ChronoField.MONTH_OF_YEAR, 8);
💜 from 주어진 Temporal 객체를 사용해서 클래스의 인스턴스 생성
💜 now 시스템 시계로 Temporal 객체를 생성
💜 of 주어진 구성 요소에서 Temporal 객체 인스턴스 생성
💜 parse 문자열을 파싱해서 Temporal 객체를 생성
💜 atOffset 시간대 오프셋과 Temporal 객체를 합침
💜 atZone 시간대 오프셋과 Temporal객체를 합침
💜 format 지정된 포매터를 사용해서 Temporal객체를 문자열로 변환
💜 get Temporal 객체 상태를 읽음
💜 minus 특정 시간을 뺀 Temporal 객체의 복사본 생성
💜 plust 특정 시간을 더한 Temporal 객체의 복사본 생성
💜 with 일부 상태를 바꾼 Temporal 객체의 복사본 생성