Joda Time: преобразовать UTC в местное

Я хочу преобразовать объект Joda Time UTC DateTime в местное время.

Вот трудоемкий способ сделать это, который, кажется, работает. Но должен быть способ получше.

Вот код (на 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 local = 2010-10-28T15: 00: 00.000 + 11: 00

6
задан JodaStephen 15 June 2011 в 07:14
поделиться