자바8 날짜 클래스 LocalDate

2019. 3. 27. 21:42알고리즘문제/Hackerrank

 

Hackerrank에서

특정 날짜의 연, 월, 일 정보를 가지고 해당 날짜의 요일을 출력하는 알고리즘을 만들던 중

Date클래스를 사용하니 요일정보가 잘못 가져와진다는 것을 발견하였다. 

 

LocalDate를 사용하는 Discussion을 참고하여

LocalDate를 사용하니 코드가 매우 간결해졌다. 

 

import java.time.LocalDate;

public static String getWeek(year, month, day){
	LocalDate ld = LocalDate.of(year, month, day);
    
    return ld.getDayOfWeek.name();
}

Java8부터 LocalTime, LocalDateTime과 함께 새로 만들어진 클래스라고 한다 ! 마음에 들어 !

 

 

 

자바에서 Calendar와 Date의 문제점, 그리고 대체재인 LocalDate 

아래 블로그에서 설명을 너무 잘해두셨댱 ! 참고하기

 

https://jeong-pro.tistory.com/163

 

JAVA에서 날짜,시간 제대로 사용하는 LocalDate, LocalTime, LocalDateTime (NTP 시간 서버에서 정확한 시간 받아오기, json object 받기, JPA 테스트 with LocalDateTime)

아직도 Calendar, Date 사용하니? 자바에서 아직도 Calendar.getInstance해서 시간/날짜를 표현하는 프로그래머가 있을까? 처음 공부할 때나 단순하게 표현해야할 때는 사용할 수 있지만 단점이 극명한 클래스라..

jeong-pro.tistory.com

 

 

예전에 여행 날짜 지정하는 기능 구현할 때 LocalDate 클래스를 알았더라면 정말 편하게 구현했을 것 같다는 생각이..

자주 사용되는 기능들을 메소드로 제공하니 애용할 듯, ㅎ, ㅎ, 더불어서 Joda time 라이브러리 공부도 해봐야 할 것 같다. 

Java8으로 배우면서 왜 Calendar, Date 사용법에만 집중한건지... 흠

누구나 성장하고자 하는 개발자라면 꾸준히 버전 업에 대한 관리, 공부를 해야한다는 생각이 들었다.

 

 

- Joda time 

https://jojoldu.tistory.com/26

 

[Joda-time] 월, 일, 요일, 오전/오후 표현하기

Java는 1.7까지 Date가 구리기로 소문났다. (참고) 1.8부터는 많이 개선되었지만.... 회사에서 개발을 하다보면 1.8에서 개발할수있는 경우가 별로없다. 대부분 1.6 ~ 1.7 일경우가 많은데 (리팩토링은 먹는건가요..

jojoldu.tistory.com