У меня есть дата ISO 8601, скажем: 2012-01-19T19:00-05:00
Мой часовой пояс машины GMT+1
Я пытаюсь использовать joda для синтаксического анализа и преобразования его в соответствующую дату и время GMT:
DateTimeFormatter simpleDateISOFormat = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mmZZ");
creationDate = simpleDateISOFormat.withZone(DateTimeZone.UTC)
.parseDateTime(date + "T" + time)
.toDate();
Теперь результат, который я ожидаю, Fri Jan 20 00:00:00 CET 2012
Вместо этого я получаю: Fri Jan 20 01:00:00 CET 2012
Я считаю, что это потому, что я вовремя GMT + 1
.
Есть ли способ проанализировать фальсификацию даты в другом часовом поясе?
Изменить: В основном проблема заключается в том, что я вызываю метод toDate()
. Метод преобразует DateTime
в Date
, как мне нужно, но я преобразовываю его в локальное время.
Кто-нибудь знает метод преобразования, который не налагает это ограничение?