2010-10-30 1 views
7

Sto sperimentando il tempo di Joda.Migrazione da 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)); 

Come posso mantenere il string_from_3rd_party, tuttavia, in grado di costruire un Joda DateTimeZone fuori da esso?

risposta

19

È possibile utilizzare il fuso orario di Java per creare il DateTimeZone:

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

questo non sta prendendo in considerazione il risparmio di luce del giorno se si dispone di un fuso orario con l'ora legale configurato – Woody