zoukankan      html  css  js  c++  java
  • Java 定时任务

    import java.util.Calendar;
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class TestTime {
    
     //时间间隔
     private static final long PERIOD_DAY =  60 * 60 *24 *1000;
     
     public void dd() {
      Calendar calendar = Calendar.getInstance(); 
           
      /*** 定制每日2:00执行方法 ***/
    
      calendar.set(Calendar.HOUR_OF_DAY, 17);
      calendar.set(Calendar.MINUTE, 15);
      calendar.set(Calendar.SECOND, 59);
      
      Date date=calendar.getTime(); //第一次执行定时任务的时间
      
      //如果第一次执行定时任务的时间 小于 当前的时间
      //此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。
      if (date.before(new Date())) {
          date = this.addDay(date, 1);
      }
      
      Timer timer = new Timer();
      
      TimerTask  task = new TimerTask() {
     
     @Override
     public void run() {
      // TODO Auto-generated method stub
      System.out.println("fdsafsafa");
     }
    };
      //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
      timer.schedule(task,date,PERIOD_DAY);
     }
     
     
     public void cc() {
       Calendar calendar = Calendar.getInstance(); 
            
       /*** 定制每日2:00执行方法 ***/
    
       calendar.set(Calendar.HOUR_OF_DAY, 17);
       calendar.set(Calendar.MINUTE, 15);
       calendar.set(Calendar.SECOND, 58);
       
       Date date=calendar.getTime(); //第一次执行定时任务的时间
       
       //如果第一次执行定时任务的时间 小于 当前的时间
       //此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。
       if (date.before(new Date())) {
           date = this.addDay(date, 1);
       }
       
       Timer timer = new Timer();
       
       TimerTask  task = new TimerTask() {
      
      @Override
      public void run() {
       // TODO Auto-generated method stub
       System.out.println("vv");
      }
     };
       //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
       timer.schedule(task,date,PERIOD_DAY);
      }
    
     // 增加或减少天数
     public Date addDay(Date date, int num) {
      Calendar startDT = Calendar.getInstance();
      startDT.setTime(date);
      startDT.add(Calendar.DAY_OF_MONTH, num);
      return startDT.getTime();
     }
     
     public static void main(String arg[]){
      TestTime tt =  new TestTime();
      tt.dd();
      tt.cc();
     }
    }
    
     

    .

  • 相关阅读:
    rac node1节点侦听地址为127.0.0.1问题
    rac crs节点故障(未解决)
    杂牌设备网络接入引起交换机引起端口翻转的故障
    Impdp导出前准备工作以及主要命令
    查询dba_tables视图tablespaces_name为空的问题
    Expdp导出前准备工作以及主要命令
    带参数的方法解析
    类的无参方法,注释
    类和对象的解析
    二重循环的解析
  • 原文地址:https://www.cnblogs.com/cha1r/p/3499804.html
Copyright © 2011-2022 走看看