我必须在不使用任何第三方API的情况下使用JDK1.4使用Java Timer安排一些作业。
如果Daylight Saving Time (DST)更改是从早上2点到凌晨3点,那么在DST过渡时间(即凌晨2点到凌晨3点)之间预定的作业应该是什么?
我认为许多企业应用程序都无法跳过这些工作。如何进行?
答案 0 :(得分:3)
不要存储/运行/等。任何使用DST的东西。它很难维护。
将所有日期存储在UTC的数据库中。以UTC格式执行所有时间计算。为所有业务流程维护单一标准的不变更时间度量。只有在向用户显示结果(在屏幕上显示,在报告上打印等)时,才会将时间本地化为用户期望的任何内容。
基本上认为所有后端逻辑都是UTC,并且在接口级别,在本地化时间和"系统"之间会有一种转换层。时间。
答案 1 :(得分:0)
answer by David是正确的。
ScheduledExecutorService
另外,我建议使用ScheduledExecutorService而不是Timer。
请务必阅读包含所有JavaDoc的内容。搜索StackOverflow以查找讨论和示例代码。具体来说,您必须陷阱所有异常,否则服务将停止。