2011-12-20 3 views
1

DateTimestimestamps으로 저장하고 있습니다. Joda Time이 DateTimes의 AM/PM 부분을 잘못 해석하고 있습니다.AM/PM을 잘못 해석하는 Joda Time

DateTime dt = new DateTime(1324231621L * 1000); // long pulled from DB as timestamp 
DateTimeFormatter fmt = DateTimeFormat.forPattern("h:mm aa z"); 
String timeStr = fmt.print(dt); 

상기는 12:07 AM CST 초래한다 대신 12:07 PM CST 초래한다.

시간을 24 시간 기준으로 해석하는 것처럼 보입니다. 그러나 소문자 "h"를 사용하고 있으므로 이유를 알 수 없습니다. 진짜 이유가 뭐야?

답변

2

내가 잘못 생각한 것 같습니다. 타임 스탬프는 2011-12-18T18 : 07 : 01 UTC입니다. 따라서 12:07 pm (중부 표준시)입니다. 그것이 오전 12시 7 분이 되려면, 긴 형식으로 시작하는 데에 관계된 것이 무엇이든 잘못되었다는 것을 제안합니다 - 데이터베이스에서 시작하는 과정이든, 그것을 데이터베이스에서 꺼냈다.

+0

나는 데이터베이스를 자세히 살펴본 결과 타임 스탬프가 실제로 2011-12-18 12:07:01로 저장되었음을 확인했습니다. 분명히 문제는 타임 스탬프 삽입 프로세스에 있습니다. 나를 올바른 방향으로 가리켜 주셔서 감사합니다. –

관련 문제