2010-10-30 8 views
7

J'expérimente à l'heure de Joda.Migrer TimeZone vers 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)); 

Comment puis-je conserver le string_from_3rd_party, encore, en mesure de construire un Joda DateTimeZone dehors de lui?

Répondre

19

Vous pouvez utiliser Java TimeZone pour créer le DateTimeZone:

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

ce ne prend pas en compte l'heure d'été si vous avez un TimeZone avec l'heure d'été configuré – Woody