2013-04-14 4 views
9

Мой часовой пояс UTC + 03: 00. Он хранится внутри объекта DateTimeZone. Как преобразовать это его настоящее имя, то есть, East Africa Time/EATJoda Time - Получить имя часового пояса?

+2

В документации нет ничего полезного? http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTimeZone.html – FoolishSeth

+0

@FoolishSeth - используется getName() и getID() DateTimeZone. Теперь попробуйте getNameProvider(). –

+0

Закладка связанная ссылка - http://www.dxing.com/utcgmt.htm –

ответ

8

С Joda, можно получить время зональный аббревиатуру или имя, как показано ниже

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 не смогли найти что-либо в JodaTime, чтобы дать приятное читаемое имя. По моему опыту, DateTimeZone.getName() возвращает идентификатор вместо более полезного имени. Поэтому я могу получить только «America/New_York», а не «Восточное стандартное время».

И предположить, что TimeZone.getDisplayName предполагает, что вы используете TimeZone от Java, а не от Joda. Я не вижу getDisplayName() для JodaTime.

Смежные вопросы