-
[Java] DateTime Millisecond 반올림하기program_language 및 궁금한것/Java 2023. 2. 8. 20:02
안녕하세요.
최근 DateTimeFormat을 사용할때 millisecond가 절삭이 되어서 관련 해결책을 찾으려 찾아보았지만 찾지 못했습니다.
ms를 반올림 하는 설정 자체가 없어요.
그래서 조건문으로 코드를 추가하였습니다.
손쉽게 해결.
String result = null; String dateCode = "2023-02-01 17:18:04.583"; DateTime dt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS").parseDateTime(dateCode); // 밀리세컨즈가 500이상일때 1초 더해준다. 왜냐하면 아래 코드에서 날짜 변환을 할때 밀리세컨초를 반올림 하는 것이 아니라 절삭해버림 int ms = dt.getMillisOfSecond(); if(ms > 499){ dt = dt.plusSeconds(1); } result = DateTimeFormat.forPattern("yyyy-MM-dd a h:mm:ss").withLocale(new Locale("ko")).print(dt); System.out.println(result);
오늘의 교훈: 공식문서에 없으면 구글링보단 노가다를 하자. 생각보다 간단할 수도 있다?
반응형'program_language 및 궁금한것 > Java' 카테고리의 다른 글
java 의 일급 객체란? (0) 2022.02.10 [java] 박재성님의 리팩토링 후기 (0) 2022.02.09 [JAVA] 특정시간마다 반복 실행 Timer (0) 2022.02.08 [JAVA] Scanner와 Buffered Reader의 차이점 (알고리즘) (0) 2021.08.03 [JAVA] 천단위 콤마 넣기 (0) 2021.04.19