Время в формате Joda Time в формате 24: xx: xx UTC должно быть 0: xx: xx UTC - PullRequest
1 голос
/ 22 февраля 2010

Я конвертирую из местного часового пояса в UTC, поэтому, когда мы конвертируем

2010-01-03T11: 15: 58.840 + 11: 00 => Вс, 3 января 2010 24:15:58 UTC

Это технически правильно, но у меня проблемы с 24-часовым форматированием. У меня есть некоторый код BlackBerry J2ME, в котором возникают проблемы с анализом этой строки даты и времени с использованием HttpDateParser.

new Long(HttpDateParser.parse("Sun, 03 Jan 2010 24:15:58 UTC")

Разве это не должно быть "Sun, 03 Jan 2010 0:15:58 UTC"? Если я передам эту новую дату String, она будет хорошо разбираться. Я бы предпочел не делать неприятного «поиска и замены», но исправить проблему на сервере.

Вопрос: Можно ли запретить Joda отображать время как «24: xx: xx» и вместо этого отформатировать как «0: xx: xx»?

Редактировать: я форматирую дату вывода как

public static final SimpleDateFormat DATE_FMT =
      new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss zzz");

1 Ответ

3 голосов
/ 22 февраля 2010

Попробуйте этот формат ( ЧЧ вместо кк ):

public static final SimpleDateFormat DATE_FMT =
  new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");

Эта информация содержится в SimpleDateFormat JavaDoc .

Форматер Joda имеет аналогичный формат шаблона.

...