• 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();
     }
    }
    
     

    .

  • 相关阅读:
    iOS项目中常见的文件
    RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决
    Xcode中StoryBoard Reference 新特性的使用
    非等高cell实战(01)-- 实现微博页面
    iOS回顾笔记(09) -- Cell的添加、删除、更新、批量操作
    iOS回顾笔记(08) -- 自定义Cell的类型和创建步骤总结
    unittest中的测试固件
    unittest测试用例的执行顺序
    unittest各个组件之间的关系
    ubuntu16.04开机时的.local问题
  • 原文地址:https://www.cnblogs.com/cha1r/p/3499804.html
Copyright © 2020-2023  润新知