2010-10-30 28 views
7

Estoy experimentando con la hora de Joda.Migrar TimeZone a DateTimeZone

final String string_from_3rd_party = "GMT+08:00"; 
    // Works for standard Java TimeZone! 
    System.out.println(TimeZone.getTimeZone(string_from_3rd_party)); 
    // Exception in thread "main" java.lang.IllegalArgumentException: The datetime zone id is not recognised: GMT+08:00 
    System.out.println(DateTimeZone.forID(string_from_3rd_party)); 

¿Cómo puedo mantener la string_from_3rd_party que, sin embargo, capaz de construir un Joda DateTimeZone hacia fuera de él?

Respuesta

19

Puede utilizar la zona horaria de Java para crear el DateTimeZone:

TimeZone timeZone = TimeZone.getTimeZone(string_from_3rd_party); 
DateTimeZone dateTimeZone = DateTimeZone.forTimeZone(timeZone); 
+0

esto no es teniendo en cuenta el ahorro de luz del día si tiene una zona horaria con el horario de verano configurado – Woody