给定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进行此操作?
答案 0 :(得分:1)
纯粹的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
答案 1 :(得分:0)
您可以使用Date
,SimpleDateFormat
和TimeZone
来实现您的目标。
通过设置所需的SimpleDateFormat
来设置TimeZone
。然后使用它来格式化new Date();