Chcę przekształcić obiekt DateTime Joda Time UTC na czas lokalny.Joda Czas: Konwertuj UTC na lokalny
Oto żmudny sposób na zrobienie tego, co wydaje się działać. Ale musi być lepszy sposób.
Oto kod (w Scala) bez otaczających deklaracji:
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
}
Oto wynik:
dtUTC = 2010-10-28T04: 00: 00.000 + 11: 00 miejscowy = 2010- 10-28T15: 00: 00.000 + 11: 00
Idealny. Zaadaptowałem go nieco dalej na południe, do Melbourne. – Koala3