我的时区是 UTC+03:00。它存储在 DateTimeZone 对象中。我如何将其转换为它的真实名称,即东非时间/EAT
问问题
10609 次
3 回答
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'
于 2013-11-12T18:21:25.683 回答
5
DateTimeZone tz = //...
tz.toTimeZone().getDisplayName();
于 2013-04-14T21:00:34.730 回答
1
我无法在 JodaTime 中找到任何可以给出可读性好的名称。根据我的经验, DateTimeZone.getName() 返回 id 而不是更有用的名称。所以我只能得到“America/New_York”,而不是“东部标准时间”。
TimeZone.getDisplayName 的建议似乎假设您使用的是 Java 中的 TimeZone,而不是 Joda。我看不到 JodaTime 的 getDisplayName()。
于 2015-06-04T18:25:06.890 回答