Friday, December 14, 2018

1초만에 JAVA LocalDateTime.now()에서 밀리세컨드 제거하기

LocalDateTime.now() 사용 시 밀리세컨드 제거하기

LocalDateTime 예시
그림 1. LocalDateTime

LocalDateTime.now()를 사용하여 날짜와 시간을 처리할 때, yyyy-MM-dd HH:mm:ss 패턴으로 설정하면 동일한 시간임에도 불구하고 1초씩 차이가 발생하는 문제가 있습니다.

이 문제의 원인은 0.xxxx초의 밀리세컨드가 반올림되어서입니다. 일반적으로는 DateTimeFormatter를 사용하여 포맷을 맞추는 것이 권장되지만, LocalDateTime 객체가 필요한 경우에는 이 방법이 번거로울 수 있습니다.

밀리세컨드 제거 방법

다행히도, 생성부터 밀리세컨드를 제외하는 간단한 방법이 있습니다. 아래 코드와 같이 .withNano(0) 옵션을 사용하면 됩니다.

LocalDateTime.now().withNano(0)

.withNano(0) 옵션을 적용하면, 생성될 때부터 밀리세컨드가 제외된 시간 정보를 얻을 수 있습니다.


0 개의 댓글:

Post a Comment