실수였는지 모르고였는지 둘다였는지 모르겠지만
날짜가 이상하게 출력되고 이상하게 입력되는 문제가 있었습니다.
음... 이건 날짜 포맷을 우리가 맞는 형태로 바꾸려는 과정이었는데
날짜가 자꾸 1/1로 바뀌었습니다.
오늘이 2월1일인데 1/1로 바뀌는것
찾아보니 기존에 12월에 올린 것들도 날짜가 이상했던 문제
offset을 찾아보자니 날짜가 영 맞지 않았고
타입을 HH:mm:ss.S로 바꿔주는 형태가 있었는데 이때에 문제가 생긴건지..
너무 뜬금없는 숫자였습니다.
하지만 조금 이상한 것이 다른것들은 yyyy-MM-dd HH:mm:ss 로 썼는데
이 문제의 소스에만 yyyy-MM-DD HH:mm:ss 로 쓰길래 찾아봤더니..
docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
D | Day in year | Number | 189 |
d | Day in month | Number | 10 |
인용을 하자면
D 는 Day in year
d 는 Day in month
Day in year로 표현하게 되면 어떻게 되느냐
logger.debug("1/1:"+formatter3.parse("2021-01-01 06:30:00")을 하게 되면
-> "1/1 :Fri Jan 01 06:00 KST 2021"
logger.debug("2/1:"+formatter3.parse("2021-02-01 06:30:00")을 하게 되면
-> "2/1 :Fri Jan 01 06:00 KST 2021"
logger.debug("3/1:"+formatter3.parse("2021-03-01 06:30:00")을 하게 되면
-> "3/1 :Fri Jan 01 06:00 KST 2021"
logger.debug("4/1:"+formatter3.parse("2021-04-01 06:30:00")을 하게 되면
-> "4/1 :Fri Jan 01 06:00 KST 2021"
???? 원하던 2월, 3월, 4월은 모두 무시되고 01로 되었기 때문에 무조건 1월 1일로 출력되는 문제였고
이 문제로 인해 로직을 탄 모든 날짜들은 모두 1월이 되어버렸습니다.
1/31 은 31
2/10 은 41
2/20 은 51
3/2 은 61
3/12 은 71
ㅎㅎㅎ
yyyy-MM-dd 기억하기..
'개발일지' 카테고리의 다른 글
[mysql] 오류 해결 ./mysql.server: line 264: kill (0) | 2021.08.14 |
---|---|
[mysql] db를 복제 데이터, 테이블 복사 (0) | 2021.05.20 |
[git] config 설정하기 (0) | 2021.01.27 |
[linux] 리눅스 명령어 급하게 찾을때 (0) | 2020.09.09 |
[linux] signal kill (0) | 2020.08.11 |