Как сохранить часовой пояс в метке времени Joda-Time?

Я разбираю метки времени. Когда я их читаю, они вынуждены использовать мой местный часовой пояс (Европа / Лондон). Вместо этого я хочу сохранить исходное смещение часового пояса.

scala> val fmt = org.joda.time.format.ISODateTimeFormat.dateTimeNoMillis()

scala> val t = fmt parseDateTime ("2012-04-16T23:00:45-04:00")
t: org.joda.time.DateTime = 2012-04-17T04:00:45.000+01:00

scala> t.getDayOfMonth
res2: Int = 17

scala> fmt print t
res1: java.lang.String = 2012-04-17T04:00:45+01:00

В этом примере метка времени из Америки / Нью-Йорка принудительно переводится в Европу / Лондон . Когда я конвертирую DateTime обратно в String, я хочу вернуть исходную строку, которую я ввел.

Кроме того, когда я спрашиваю метку времени, из какого дня месяца она, я хочу, чтобы она говорила, что это с 16-го ( потому что это была дата в том месте, где она была сгенерирована), а не 17-е (хотя это была дата в моем часовом поясе в тот же момент).

Как мне это сделать?

8
задан dave4420 9 May 2011 в 21:43
поделиться