안드로이드) 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 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)