计时器调度程序如何每小时每15分钟运行一次

时间:2015-05-11 13:05:05

标签: java timer scheduler

  • 嗨,我想每隔15分钟运行一次方法间隔。 示例:如果我的应用程序初始服务器启动时间示例为0:12它 不会被调用计时器调度程序运行方法。
  • 所以我的计时器调度程序运行方法每个特定的间隔 每小时15分钟,如: 0:15,0:30,0:45,1:00,1:15,1:30,1:45,2:00,2:15,2:30,2:45,.....etc.
  • 下面的示例代码段总是运行初始时执行的方法 申请开始请告诉我哪里弄错了?
  • 根据我的要求,我需要在Timer-Task Scheduler中实现。

        private class TimerExample{
        private static Timer timer = new Timer();
    
        private static Calendar getFirstTime() {
            Calendar cal = Calendar.getInstance();
    
            int currentMinute = cal.get(Calendar.MINUTE);
    
            if (currentMinute < 45) {
                cal.set(Calendar.MINUTE, 45);
            }
            if (currentMinute < 30) {
                cal.set(Calendar.MINUTE, 30);
            }
            if (currentMinute < 15) {
                cal.set(Calendar.MINUTE, 15);
            }
            if (currentMinute >= 45) {
                cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) + 1);
                cal.set(Calendar.MINUTE, 0);
            }
    
            cal.set(Calendar.SECOND, 0);
    
            return cal;
        }
    
        public static void main(String... args) {
            Calendar firstTaskTime = getFirstTime();
            System.out.println("Task will start at: " + firstTaskTime.getTime());
            timer.schedule(new MyTask(), firstTaskTime.getTime(), 1000 * 60 * 15);
        }
    }
    

0 个答案:

没有答案