Java-如何获得K小时的时区



我有一个时区变量(DEFAULT_TIME_ZONE),通过以下代码获得

TimeZone DEFAULT_TIME_ZONE = TimeZone.getTimeZone("GMT");

现在我想获得另一个时区,它从DEFAULT_TIME_ZONE移动了K小时。

我该怎么做?

如果实际上是指"与UTC有永久常数偏移的时区",那很容易:

int offsetMillis = (int) TimeUnit.HOURS.toMillis(offsetHours);
TimeZone zone = new SimpleTimeZone(offsetMillis, "some id");

如果你指的是一个时区,它与另一个时区遵循相同的夏令时规则,但偏移了一个固定的偏移量,这会有点困难,但我认为也不那么有用。

注意,如果你使用Joda Time,你可以通过实现前者

DateTimeZone zone = DateTimeZone.forOffsetHours(offsetHours);

(您还可以使用更好的API…)

相关内容

  • 没有找到相关文章

最新更新