【发布时间】:2017-04-14 03:17:37
【问题描述】:
在我的代码中,我试图编写一个每 24 小时触发一次的任务。第一次触发应该是在安排计时器时,然后是每早上 7 点。我正在使用
java.util.TimerTask
我是这样写的:
Calendar today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, 7);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
timer.schedule(task1, today.getTime(), TimeUnit.MILLISECONDS.convert(24, TimeUnit.HOURS));
每次我运行我的应用程序时都会启动任务(如预期的那样?)...但是在午夜之后如果我运行我的应用程序,则不会触发任务。
哪里出错了?
谢谢
【问题讨论】:
-
"但是在午夜之后" 你到底是什么意思?所有时间都在午夜之后。
-
timer是什么类型? (我检查了它是否是ScheduledExecutorService,但没有与该签名匹配)。 -
java.util.TimerTask ...我的意思是我试图在 00.01 运行我的应用程序...并且任务没有执行。每晚都是同样的行为
-
@JoeC 见
java.util.Timer。 -
@Alex 你是在 00:01 运行这个,并等待 6h59m 看看它是否执行?
标签: java timer scheduled-tasks