我非常简单的代码:
public static void main(String[] args)
{
TimeZone tz = TimeZone.getTimeZone("Europe/Moscow");
System.out.println(tz);
}
当我在我的机器上本地运行时,我得到:
sun.util.calendar.ZoneInfo[id="Europe/Moscow",offset=10800000,dstSavings=0,useDaylight=false,transitions=79,lastRule=null]
在unix测试机上部署时,我得到:
sun.util.calendar.ZoneInfo[id="Europe/Moscow",offset=14400000,dstSavings=0,useDaylight=false,transitions=78,lastRule=null]
如此不同的偏移,似乎前者使用日光节省时间而后者不是,但useDaylight
字段都设置为false。
可疑的是转换量,在我的本地机器上显示它与测试机器相比经历了额外的转换。
有什么想法吗?
答案 0 :(得分:2)
您可以使用不同的Java版本。其中一个支持DST,另一个不支持。在俄罗斯,不再有DST更改,也许一个Java版本已经老了,并且不知道它。