我们正在使用 Java Timer (Java 1.7) 来安排一些打印作业。无论夏令时如何,我们都希望每天在特定时间打印作业。目前,如果我们将作业设置为在凌晨 4:00 以 24 小时为周期打印,则它会在 DST 日之前正确打印。在秋季 DST 日,它在凌晨 3:00 而不是 4:00 打印。我怎样才能解决这个问题?我们希望它在一年中的每一天的特定时间打印。
问问题
655 次
2 回答
1
您可以java.util.Calendar
用来获取时间 ( Date
),因为Calendar
该类已经进行了 DST 调整。查看清单 4 中的DailyIterator.class
实现方式。 DailyIterator 类。
于 2013-01-14T22:22:51.247 回答
0
Implement your TimerTask as
class Task extends TimerTask {
@Override
public void run() {
if (Calendar.getInstance().get(Calendar.HOUR_OF_DAY) == 4) {
System.out.println(new Date());
}
}
}
and schedule it to run at the top of every hour. Task will decide which hour is 4 am in the current Locale
于 2013-01-15T05:37:57.950 回答