zoukankan      html  css  js  c++  java
  • java Timer 定时每天凌晨1点执行任务

    转载别人的,用于以后学习。
    import java.util.TimerTask; /** * 执行内容 * @author admin_Hzw * */ public class Task extends TimerTask { public void run() { System.out.println("我有一头小毛驴!"); } }
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Timer;
    
    /**
     * 任务管理
     * @author admin_Hzw
     *
     */
    public class TimerManager {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		new TimerManager();  
    	}
    
    	//时间间隔(一天)
    	private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
    	public TimerManager() {
    		Calendar calendar = Calendar.getInstance();
    		calendar.set(Calendar.HOUR_OF_DAY, 1); //凌晨1点
    		calendar.set(Calendar.MINUTE, 0);
    		calendar.set(Calendar.SECOND, 0);
    		Date date=calendar.getTime(); //第一次执行定时任务的时间
    		//如果第一次执行定时任务的时间 小于当前的时间
    		//此时要在 第一次执行定时任务的时间加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。
    		if (date.before(new Date())) {
    			date = this.addDay(date, 1);
    		}
    		Timer timer = new Timer();
    		Task task = new Task();
    		//安排指定的任务在指定的时间开始进行重复的固定延迟执行。
    		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();
    	}
    
    }
    
  • 相关阅读:
    Java加密与解密之非对称加密算法
    Java加密与解密之对称加密算法
    Java加密与解密之消息摘要算法
    基于Spring Cloud Zookeeper的服务注册与发现
    .NET 5.0正式发布,新功能特性(翻译)
    C# 9.0 中的新增功能
    C# 规范建议
    Flutter Weekly Issue 70
    Android 开发技术周报 Issue#298
    Flutter Weekly Issue 69
  • 原文地址:https://www.cnblogs.com/yinchuan/p/5477201.html
Copyright © 2011-2022 走看看