Java 夏令时不适用于遥远的过去(更新 : It does)?

标签 java date dst

下面这段代码:

TimeZone.getTimeZone("Europe/Athens").inDaylightTime(new Date(200, 8, 14));

返回 true,与 2011 年非常相似。但是,Daylight Saving Time (DST) 大约在 100 年前才被提出,并且在最近才得到应用。 200 年的时间是否被视为夏令时,或者这是 Java 的怪癖?

最佳答案

你错了。当您使用日期 new Date(-1700, 8, 14)(即年份 200)时,它会按预期工作。您正在使用的构造函数正在将 1900 添加到您的年份。您实际上使用的是年份 2100

检查 Date constructor应用程序接口(interface)。

关于Java 夏令时不适用于遥远的过去(更新 : It does)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232750/

相关文章:

javascript - Safari 中的日期显示为使用 Intl.DateTimeFormat 和 en-US 语言环境

java - 使用 ProcessBuilder 运行同一类的多个进程

jQuery 添加 Year) 至今

sql - 我可以在 SQL Server 中进行时区转换吗?

datetime - 夏令时和时区最佳实践

java - 将字符串转换为 java.util.Date

java - 有多少对象符合垃圾收集条件?

java - Google App Engine 数据存储区不实时运行,而是在本地运行

java - 检查实例方法是从构造函数调用的

php - date() 或 format_date() 返回 1970?