Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为特定的小时和分钟制作Timer.schedule()?_Java_Timer_Scheduled Tasks - Fatal编程技术网

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

从现在开始,小时和分钟是相对的吗?