online current java scala timezone jodatime

current - jodatime java 8



¿Cómo preservar la zona horaria en Joda-Time timestamp? (1)

Intente crear un DateTimeFormatter con el análisis de desplazamiento habilitado. Esto debería provocar que los objetos DateTime analizados retengan el desplazamiento de la cadena que se analizó originalmente.

Si eso no funciona, es posible que deba almacenar la zona horaria por separado. Luego, para imprimir una fecha, recupera la fecha y el huso horario objetivo. Configure el formateador con la zona horaria deseada y úselo para formatear la fecha.

Estoy analizando las marcas de tiempo. Se ven obligados a mi zona horaria local (Europa / Londres) cuando los leo. En su lugar, quiero preservar el desplazamiento original de la zona horaria.

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

En este ejemplo, una marca de tiempo de America / New_York se fuerza a Europa / Londres. Cuando convierto el DateTime a una Cadena, quiero recuperar la cadena original en la que alimenté.

Además, cuando pregunto en la marca de tiempo de qué día del mes soy, quiero decir que es del 16 (porque esa era la fecha en el lugar donde se generó), no el día 17 (aunque esa era la fecha en mi zona horaria en el mismo instante).

¿Cómo hago esto?