티스토리 뷰

JAVA

[날짜시간] 지역날짜

박중수 2015. 4. 6. 17:32

Instant가 컴퓨터의 절대시간을 돌려줬다면

LocalDate 클래스는 인간이 사용하는 시간(연, 월, 일)을 돌려준다.

현재시간을 불러오는 방법은 Instant와 같다.



LocalDate now = LocalDate.now();




또한 특정날짜를 불러오려면




LocalDate 입대일 = LocalDate.of(2014, 11, 24); //오래된거 같은데...



이렇게 불러올 수 있다.


또한 날짜계산도 쉽게 할 수 있다.




LocalDate 전역일 = LocalDate.of(2014, 11, 24).plusDays(730); //ㅠㅠ




LocalDate의 메소드들은 아래와 같다.



메소드

설명  

 now, of

 현재 시각, 주어진 연,월,일로부터 LocalDate를 생성(static) 

 plusDays, plusWeeks,

 plusMonths,

 plusYears

 해당 LocalDate에 일, 주, 월, 연을 더한다.

 minusDays,

 minusWeeks,

 minusMonths,

 minusYears

 해당 LocalDate에 일, 주, 월, 연을 뺀다.

 plus, minus

 Duration, Period 를 더하거나 뺀다. 

 withDayOfMonth,

 withDayOfYear,

 withMonth,

 withYear

 월단위 일, 연단위 일, 월, 연을 주어진 값으로 변경한

 새로운 LocalDate를 리턴한다

 getDayOfMonth 

 월 단위 일을 얻는다 (1~31)

 getDayOfYear

 연 단위 일을 얻는다(1~366) 

 getDayOfWeek

 요일을 얻는다 

 getMonth,

 getMonthValue 

 월을 Month 타입으로 열거, 또는 1~12사이의 숫자를 리턴

 getYear 

 연도를 얻는다 

 until

 두 날짜 사이의 Period 또는 ChronoUnit 수를 구한다 

 isBefore,

 isAfter

 다른 LocalDate와 비교한다 

 isLeapYear

 해당 연도가 윤년인지 검사한다

출처 : 가장 빨리만나는 자바8 (길벗 출판사, 카이 호스트만 저)




★ 일부 메소드들은 유효하지 않은 날짜를 생성할 가능성이 있다.

    예를 들면 LocalDate.of(2014,1,31).plusMonth(1) 은 2월 31일을 리턴할 수 있다.

    하지만 LocalDate의 메소드는 유효하지 않은 날짜를 생성할 경우 예외를 날리지 않고

    가장 가까운 유효한 날짜를 리턴한다. 이 예는 2월 29일을 리턴한다.



★ 기존 java.util.Date 클래스와 Instant는 상호동작한다.

    Date 클래스에는 toInstant() 메소드가, Instant 클래스에는 toDate() 메소드가 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
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
글 보관함