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

    }

    荣耀存于心,而非留于形我还在寻找,回家的路长路漫漫,唯剑做伴且随疾风前行,身后一许流星吾虽浪迹天涯, 却未迷失本心
  • 相关阅读:
    c语言中的增量与减量········不要太聪明
    存储器··············RAM,SRAM,EEPROM 等等
    对于 sizeof(char)的一些零碎······
    C语言中float,double等类型,在内存中的结构
    同步异步存储器
    Linux的帧缓冲设备(Framebuffer)简介
    嵌入式 c 中结构体经常碰到_I、 __O 、__IO是什么意思?
    新型的按键扫描程序
    数据结构
    jQuery(八)选择器与选择方法
  • 原文地址:https://www.cnblogs.com/qq3111901846/p/6202910.html
Copyright © 2020-2023  润新知