Java 如何在这些天的持续时间内多天运行方法?

Java 如何在这些天的持续时间内多天运行方法?,java,timer,timertask,Java,Timer,Timertask,Java中有没有一种方法可以在特定时间基于一组天数运行特定方法 比如说,我有以下几天: 2015年11月13日至2015年11月15日 时间是上午11点到下午6点 所以我希望有一个方法只在那些日子和那些时间运行 我知道计时器任务,但我不认为有一种方法可以设置多天,而且只在这些时间?经过这些时间,我希望它停止或运行在后台,不做任何事情,直到这些日期更新 我应该提到,由于项目规范,我不能使用石英。是否有其他方法或这是不可能的?您可以使用。它允许您根据CRON表达式以间隔(以毫秒为单位)或预定义的日期

Java中有没有一种方法可以在特定时间基于一组天数运行特定方法

比如说,我有以下几天:

2015年11月13日至2015年11月15日

时间是上午11点到下午6点

所以我希望有一个方法只在那些日子和那些时间运行

我知道计时器任务,但我不认为有一种方法可以设置多天,而且只在这些时间?经过这些时间,我希望它停止或运行在后台,不做任何事情,直到这些日期更新

我应该提到,由于项目规范,我不能使用石英。是否有其他方法或这是不可能的?

您可以使用。它允许您根据
CRON
表达式以间隔(以毫秒为单位)或预定义的日期和时间(只要指定)安排任务运行

您可以在此处找到相关文档:

根据更新的问题进行编辑:

如果
Quartz
不是一个选项,那么在java-source.net的“java中的开源作业调度器”上有一个长长的、全面的备选方案列表:


您还可以看看界面。

那么您正在寻找类似Java中的cron调度器的东西?如果是这样的话,我想到了Quartz-您没有给出任何限制,因此我将提供Spring的解决方案@Scheduled,它采用类似于cron的字符串,应该能够满足您的要求。很遗憾,我不能使用Quartz,我已更新了问题以反映此限制(太遗憾了!您的软件是作为服务运行的,还是仅仅是一个在这段时间内保持打开状态的程序?我已经更新了我的答案,给出了一个备选方案列表!:)调度器位于作为Spring应用程序运行的Java服务器上。《泰晤士报》的输入是从一个网站应用程序中获取的,当有人需要运行该服务时,他们会进入该应用程序。事实上,这些内置类很容易使用,而且工作良好。您的Runnable/Callable可以检查当前日期时间,如果还没有时间,则可以跳过它的工作。@Basil Bourque您能举个例子说明如何实现这一点吗?