java.time 패키지의 local 을 사용해보기
LocalDate 만들고 값 읽기
LocalDate date = LocalDate.of(2017, 9, 21);
int year = date.getYear(); // 2016
Month month = date.getMonth(); // September
int day = date.getDayOfMonth(); // 21
DayOfWeek dow = date.getDayOfWeek(); // thursday
int len = date.lenghOfMonth(); // 31
boolean leap = date.isLeapYear(); // false (윤년 여부)
팩토리 메서드 now는 시스템 시계의 정보를 이용해서 현재 날짜 정보를 얻는다.
LocalDate today = LocalDate.now();
내장 메서드를 이용하기
int year = date.getYear();
duration 만들기
Duration d1 = Duration.between(time1, time2);
Duration d1 = Duration.between(dateTime1, dateTime2);
Duration d2 = Duration.between(instant1, instant2);
절대적인 방식으로 LocalDate의 속성 바꾸기
LocalDate date1 = LocalDate.of(2017, 9, 21);
LocalDate date2 = date1.withYear(2011);
- 396p
TemporalAdjuster 사용하기
import static java.time.temporal.TemporalAdjusters.*;
LocalDate date1 = LocalDate.of(2014, 3, 18);
LocalDate date2 = date1.with(nextOrSame(DayOfWeek.SUNDAY));
LocadlDate date3 = date2.with(lastDayOfMonth());
TemporalAdjuster nextWorkingDay = TemporalAdjusters.ofDateAdjuster(
temporal -> {
DayOfWeek dow = DayOfWeek.of(temporal.get(ChronoField.DAY_OF_WEEK));
int dayToAdd = 1;
if (dow == DayOfWeek.FRIDAY) dayToAdd = 3;
else if (dow == DayOfWeek.SATURDAY) dayToAdd = 2;
return temporal.plus(dayToAdd, chronoUnit.DAYS);
});
date = date.with(nextWorkingDay);
반응형
'Book' 카테고리의 다른 글
[독서 기록] 모던 자바 인 액션 18장-21장, 함수형 프로그래밍과 자바 진화의 미래 (0) | 2023.01.13 |
---|---|
[독서 기록] 모던 자바 인 액션 13장, 디폴트 메서드 (0) | 2023.01.11 |
[독서 기록] 모던 자바 인 액션 11장 null 대신 Optional 클래스 (0) | 2023.01.11 |
[독서 기록] 모던 자바 인 액션 10장 람다를 이용한 도메인 전용 언어 (0) | 2023.01.10 |
[독서 기록] 모던 자바 인 액션 9장 리팩터링, 테스팅, 디버깅 (0) | 2023.01.10 |