안드로이드) simpleDateFormat.parse(date).getTime()후 시간이 변경(pm -> am)됩니다. 아시는 분 계실까요?
조회수 500회
안녕하세요, dialogflow를 활용해 챗봇을 만들던 도중 막혀 문의드립니다.
SimpleDateFormat weatherDateFormatFromString = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
로 변수를 생성하였고, dialogflow에서 넘어온 시간값을 다음과 같이 unix time으로 변환했습니다.
date = weatherDateFormatFromString.parse(totalDateTime).getTime();
그런데, 위와 같이 변환된 시간 값을 다시 format() 했을 경우 시간(pm -> am)이 변경되는 경우가 발생합니다.
System.out.println("확인(날짜, 시간 존재). parsing 전 값. totalDateTime: " + totalDateTime);
date = weatherDateFormatFromString.parse(totalDateTime).getTime();
System.out.println("확인(날짜, 시간 존재). parsing 후 재변환: " + weatherDateFormatFromString.format(date));
위와 같이 코드를 작성한 후 출력된 값을 보면, 아래와 같이 시간이 변경되는 것을 볼 수 있습니다.
com.updatetest.chatbotproject I/System.out: 확인(날짜, 시간 존재). parsing 전 값: 2019-03-18 16:00:00
com.updatetest.chatbotproject I/System.out: 확인(날짜, 시간 존재). parsing 후 재변환: 2019-03-18 04:00:00
동일한 시간을 재변환했을 뿐인데 이러한 차이가 왜 발생하는지 모르겠습니다. 위와 같은 문제로 오전, 오후를 구분해서 챗봇에 날씨를 물어볼 경우 잘못된 시간의 날씨를 불러오는 경우가 발생하네요...
아시는 분 있으시면 답변 부탁드리겠습니다!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
hh는 1-12값만 표현되네요 HH하시면 0-23으로 표현될겁니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력