Java 如何为特定的小时和分钟制作Timer.schedule()?
我试图让Java 如何为特定的小时和分钟制作Timer.schedule()?,java,timer,scheduled-tasks,Java,Timer,Scheduled Tasks,我试图让schedule()方法等到特定的小时和分钟 来开始执行任务,但它不起作用 因为方法schedule() 作为一个论点,这种方法的替代品是什么?我应该安排几个小时的时间 那么,当时间到了,程序会检查分钟吗?如果两者都正确的话 它将开始执行还是什么 附言 为了使事情更容易理解,如何使事情更类似于此 : 计划(new TimerClass(),所需的小时数,所需的分钟数)?您不需要这样的硬编码。先测试小时,然后测试分钟。只需按如下所示计划任务。 下面给出的任务将在一小时后执行,每30000m
schedule()
方法等到特定的小时和分钟
来开始执行任务,但它不起作用
因为方法schedule()
作为一个论点,这种方法的替代品是什么?我应该安排几个小时的时间
那么,当时间到了,程序会检查分钟吗?如果两者都正确的话
它将开始执行还是什么
附言
为了使事情更容易理解,如何使事情更类似于此
:
计划(new TimerClass(),所需的小时数,所需的分钟数)?您不需要这样的硬编码。先测试小时,然后测试分钟。只需按如下所示计划任务。
下面给出的任务将在一小时后执行,每30000ms重复一次。如果您只需要执行一次,请取消第一次执行后的时间,如使用t.cancel()并将小时+分钟转换为毫秒以放置计划时间
TimerTask scanTask;
final Handler handler = new Handler();
Timer t = new Timer();
scanTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
//do your task here
}
});
}};
t.schedule(scanTask, 1*60*60*1000, 30000);
如果您希望为特定时钟时间(而不是当前时间的延迟)进行计划,以下是一些选项:
- 如果您这样做足以证明附加库的合理性,请使用。Quartz可以轻松指定时钟时间,并支持安排重复事件
- 否则,在计划时,计算当前时间和所需时间之间的差异。(使用Calendar类创建时钟时间、转换为日期和getMillis())将差异提供给Timer或ScheduledThreadPoolExecutor
从现在开始,小时和分钟是相对的吗?