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