Joda Time неправильно интерпретирует AM / PM - PullRequest
1 голос
/ 20 декабря 2011

Я храню DateTimes как timestamps в моей базе данных MySQL.Joda Time неправильно интерпретирует AM / PM часть этих DateTimes.

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", поэтому не знаю почему.В чем реальная причина?

1 Ответ

2 голосов
/ 20 декабря 2011

Я думаю, что вы получили неправильное значение - эта временная метка 2011-12-18T18: 07: 01 UTC - поэтому равно 12:07 вечера в CST.Если это должно было быть 12:07, это означало бы, что все, что было вовлечено в приведение его в длинную форму для начала, является ошибочным - будь то процесс, который положил его в базу данных для начала, или способ, которым вывытащил его из базы данных.

...