使用带日历的计时器/调度程序

时间:2017-06-16 17:55:18

标签: java timer calendar

[在爪哇] 嘿,我在网上搜索了很多,我发现的唯一一件事对我没用。我需要的是每周从用户的日历执行一个特定的任务。即使用户没有打开应用程序,我希望它能够计算时间。我在互联网上找到的内容会在每次用户启动应用时重置日历。

感谢。

2 个答案:

答案 0 :(得分:0)

创建"智能"方法long nextExecutionTime(long currentTime)的日历接受当前时间和下一个执行时间的返回时间,在db的帮助下使其持久化。在您的应用程序启动时,从db获取此日历并获取下一个执行时间,如果您计算到此时执行任务并使用此方法获得下一个执行时间,请计入此时间。

答案 1 :(得分:0)

我在想:上次执行任务时仍然存在。在应用启动时,请检查是否超过一周前。如果是,立即执行。如果没有,启动计时器以在上一次之后执行一周。

如何在上一次执行时间后一周找到下一个执行时间?这取决于您上次执行时使用的类型,但许多java.time类型将接受plus(1, ChronoUnit.WEEKS)。有些人还使用plusWeeks方法,以获得更大的便利。