我的时区是UTC + 03:00。它存储在DateTimeZone对象中。如何将其转换为真实姓名,即East Africa Time/EAT
答案 0 :(得分:11)
使用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 :(得分:5)
DateTimeZone tz = //...
tz.toTimeZone().getDisplayName();
答案 2 :(得分:1)
我无法在JodaTime中找到任何可以提供可读名称的内容。根据我的经验,DateTimeZone.getName()返回id而不是更有用的名称。所以我只能得到" America / New_York"而不是"东部标准时间"。
TimeZone.getDisplayName的建议似乎假设您使用的是Java中的TimeZone,而不是Joda。我看不到JodaTime的getDisplayName()。