例如,我有以下代码,使用 Joda 来计算任何给定日期的偏移量
int offset = DateTimeZone.forID("EST").getOffset(new DateTime(2013,8,1,1,1));
这会给我偏移量-18000000。但对于:
int offset = DateTimeZone.forID("EST").getOffset(new DateTime(2012,12,1,1,1));
这也给了我-18000000的偏移量。
看起来夏令时没有被纳入计算中。有人知道为什么吗?谢谢。
我正在使用 Joda-time-2.3
最佳答案
您明确告诉它忽略夏令时。
EST 是东部标准时间,与 EDT(夏令时)明显不同。
相反,请尝试使用 ID US/Eastern,所以
DateTimeZone.forID("US/Eastern")
可以找到可用时区的完整列表 here 。 US/Eastern 是 America/New_York 的别名
关于timezone - 为什么这个 Joda 偏移量无法正确获得夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25454021/