给定一个 DateTimeZone
,我可以像这样获取 TimeZone 的名称和 ID:
DateTimeZone timeZone = new DateTimeZone("America/Chicago");
// Prints "America/Chicago"
System.out.println(timeZone.getID());
// Prints "CDT" (Since it is daylight savings time now)
System.out.println(timeZone.getNameKey(DateTimeUtils.currentTimeMillis()));
// Prints "Central Daylight Time"
System.out.println(timeZone.getName(DateTimeUtils.currentTimeMillis()));
一切都很好,但我真的很想将时区作为 UTC 偏移量。在这种情况下,UTC 偏移量看起来像 -05:00
我如何使用 Joda-Time 做到这一点?
最佳答案
一个纯 Joda 解决方案如下所示:
int offsetMillis =
DateTimeZone.forID("America/Chicago").getOffset(DateTimeUtils.currentTimeMillis());
DateTimeZone zone = DateTimeZone.forOffsetMillis(offsetMillis);
String utcOffset = zone.toString();
System.out.println(utcOffset); // output: -05:00
关于java - 将 DateTimeZone 转换为 UTC 偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26597153/