我在夏令时遇到了一个奇怪的问题。我有一个 java 程序计划在每天上午 00:05 运行,但昨天它在 23:05 运行。我正在使用公历在java中安排这个程序。在此之前,它从未在 23:05 运行过,除非有人手动运行它。有谁知道这是否是日历的问题?

有帮助吗?

解决方案

?????????????????????,?????,????DST???????02?????????????

????,????????????????,?????????

其他提示

??????????????????????????????????????????

最好的猜测是,它运行在旧版本的 Java 上,并且它不恰当地认为美国夏令时是从周日早上开始的。

在内部,Java 将时间存储为 GMT 偏移量...具体来说,自 1970 年 1 月 1 日 00:00:00.000 GMT(记录在 Calendar 类的描述)。

如果您不想更新 Java 本身,您仍然可以使用 时区更新工具 更新系统上安装的 Java 时区。

笔记:据推测,这已在 Java 5u6 中修复,除非您位于中提到的其他时区之一 这个清单.

???,???00:05,?? “?”(??)???23:05?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top