2010-10-30 6 views
7

Ich experimentiere zu Joda Zeit.Migrate TimeZone zu 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)); 

Wie kann ich die string_from_3rd_party behalten, doch der Lage, eine Joda DateTimeZone aus von ihm zu konstruieren?

Antwort

19

können Sie die Java-Time-Zone verwenden, um die DateTimeZone zu erstellen:

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

dies nicht berücksichtigt Tageslichtsparungen nimmt, wenn Sie einen Time-Zone mit Sommer konfiguriert haben – Woody