首页 > 解决方案 > 如何在 Java 中每天在设定的时间运行代码?

问题描述

目前正在研究某种算法,我需要每天在同一时间运行代码。我试过创建一个计时器,但我不太熟悉它,我能做的最多就是每 x 秒运行一次代码。我知道我可以每 86400 秒做一次,但这似乎充其量只是一个笨拙的解决方案,我觉得有更好的解决方案。如果您有任何想法,请告诉我。非常感激。

标签: java

解决方案


假设您想yourTask()在特定时间(例如 10:00)运行,您可以执行以下操作:

Calendar today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, 10);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);

Timer timer = new Timer();
timer.schedule(yourTask(), today.getTime(), TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS));

推荐阅读