티스토리 뷰

개발/JAVA

[JAVA] TemporalAdjusters

애쿠 2023. 1. 26. 00:55

JAVA8 이후에 시간을 조정하는데 쓰이는 클래스다.

 

사용법도 편하고 직관적이며, 제공하는 API도 많으니 JAVA8 이후엔 TemporalAdjusters를 사용하는게 권장된다.

  • LocalDate, LocalDateTime 등 시간관리 클래스로 날짜를 지정하고 지정된 날짜를 조정하는데 쓰인다.
  • with와 함께 쓰인다. 아래는 현재일 기준 직전 월요일을 찾는다.
LocalDateTime currentDateTime = LocalDateTime.now();
LocalDateTime targetDateTime = currentDateTime
        .with(TemporalAdjusters.firstDayOfYear())       // 이번 년도의 첫 번째 일(1월 1일)
        .with(TemporalAdjusters.lastDayOfYear())        // 이번 년도의 마지막 일(12월 31일)
        .with(TemporalAdjusters.firstDayOfNextYear())   // 다음 년도의 첫 번째 일(1월 1일)
        .with(TemporalAdjusters.firstDayOfMonth())      // 이번 달의 첫 번째 일(1일)
        .with(TemporalAdjusters.lastDayOfMonth())       // 이번 달의 마지막 일
        .with(TemporalAdjusters.firstDayOfNextMonth())  // 다음 달의 첫 번째 일(1일)
        .with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)) // 이번 달의 첫 번째 요일(여기서는 월요일)
        .with(TemporalAdjusters.lastInMonth(DayOfWeek.FRIDAY))  // 이번 달의 마지막 요일(여기서는 마지막 금요일)
        .with(TemporalAdjusters.next(DayOfWeek.FRIDAY))       // 다음주 금요일
        .with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY)) // 다음주 금요일(오늘 포함. 오늘이 금요일이라면 오늘 날짜가 표시 된다.)
        .with(TemporalAdjusters.previous(DayOfWeek.FRIDAY))     // 지난주 금요일
        .with(TemporalAdjusters.previousOrSame(DayOfWeek.FRIDAY));// 지난주 금요일(오늘 포함)

 

추가적인 정보는 JAVA Docs에서 확인 할 수 있다.

'개발 > JAVA' 카테고리의 다른 글

[JAVA] Stream  (1) 2023.01.26
[JAVA] 함수형 인터페이스  (1) 2023.01.26
[Java] ObjectMapper  (0) 2023.01.22
[JAVA] Thread Safety  (0) 2023.01.21
[JAVA] 난수 생성기 Random, SecureRandom  (0) 2022.12.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함