如何在OS时间更改时获取通知

时间:2015-05-04 12:15:46

标签: java

我在Java调度程序中遇到问题。我正在使用TimerTask,当我在某个特定时间安排任务并更改操作系统时间时,TimerTask线程没有获得时间更改更新。因此,计划任务不会在指定时间发生。当我正在进行夏令时时,我遇到了这个问题。

1 个答案:

答案 0 :(得分:0)

一般问题可能是这样一个事实,即自1970年UTC以来Date的毫秒是独立的日光时间变化。

要获取有关当前时间的信息,请参阅此答案:How to tackle daylight savings using Timezone in java

如何实施?在一个单独的线程中写一个观察者,每隔几秒检查一次,或者将这个任务添加到cron(Quartz?)。检查每次通话之间的时区偏移。如果他们发生变化,请使用该事件重新初始化您的应用。