2013-04-14 16 views
9

Moja strefa czasowa to UTC + 03: 00. Jest przechowywany wewnątrz obiektu DateTimeZone. W jaki sposób mogę przekonwertować to jej prawdziwe imię, to znaczy, East Africa Time/EATJoda Time - Zdobądź nazwę strefy czasowej?

+2

Czy w dokumentacji nie ma nic przydatnego? http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTimeZone.html – FoolishSeth

+0

@FoolishSeth - używane getName() i getID() z DateTimeZone. Próbuję teraz pobraćNameProvider(). –

+0

dodawanie do zakładek powiązanych linków - http://www.dxing.com/utcgmt.htm –

Odpowiedz

8

Z Joda, można uzyskać skrót strefy czasowej lub nazwę jak poniżej

DateTimeZone dz = DateTimeZone.forID("America/New_York"); 
String tzid = dz.getShortName(DateTimeUtils.currentTimeMillis()); 
//tzid will be 'EST' 

String longerTimeZoneName = dz.getName(DateTimeUtils.currentTimeMillis()); 
//longerTimeZoneName will be 'Eastern Standard Time' 
1

I nie mogłem znaleźć niczego w JodaTime, by nadać miłą czytelną nazwę. Z mojego doświadczenia wynika, że ​​DateTimeZone.getName() zwraca identyfikator zamiast bardziej użytecznej nazwy. Mogę więc uzyskać tylko "America/New York", a nie "Eastern Standard Time".

A propozycja TimeZone.getDisplayName wydaje się zakładać, że korzystasz z TimeZone z Java, a nie z Joda. Nie widzę getDisplayName() dla JodaTime.

Powiązane problemy