Я анализирую метки времени. Когда я их читаю, они переводятся в мой местный часовой пояс (Европа / Лондон). Вместо этого я хочу сохранить исходное смещение часового пояса.
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-го (хотя это то, что дата была в моем часовом поясе одновременно).
Как мне это сделать?