下面这段代码:
TimeZone.getTimeZone("Europe/Athens").inDaylightTime(new Date(200, 8, 14));
returns true
,与 2011 年的情况非常相似。但是,夏令时 https://en.wikipedia.org/wiki/Daylight_saving_time(DST) 大约 100 年前才被提出,直到最近才开始应用。 200 年的时间被视为 DST,还是 Java 的怪癖?
你误会了。当您使用日期时,它会按预期工作new Date(-1700, 8, 14)
(这是年200
)。您正在使用的构造函数正在添加1900
到你的那一年。您实际上正在使用年份2100
.
检查日期构造函数 http://download.oracle.com/javase/1.4.2/docs/api/java/util/Date.html#Date%28int,%20int,%20int%29 api.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)