Я хочу преобразовать объект DateTime UTC Joda Time в местное время.
Вот трудоемкий способ сделать это, который, кажется, работает. Но должен быть лучший способ.
Вот код (в Scala) без окружающих объявлений:
val dtUTC = new DateTime("2010-10-28T04:00")
println("dtUTC = " + dtUTC)
val dtLocal = timestampLocal(dtUTC)
println("local = " + dtLocal)
def timestampLocal(dtUTC: DateTime): String = {
// This is a laborious way to convert from UTC to local. There must be a better way.
val instantUTC = dtUTC.getMillis
val localDateTimeZone = DateTimeZone.getDefault
val instantLocal = localDateTimeZone.convertUTCToLocal(instantUTC)
val dtLocal = new DateTime(instantLocal)
dtLocal.toString
}
Вот вывод:
dtUTC = 2010-10-28T04: 00: 00.000 + 11: 00
местный = 2010-10-28T15: 00: 00.000 + 11: 00