• 定时任务(Java)


    //指定延迟时间执行定时任务
    public class TimeWork
    {
    Timer timer;

    public TimeWork(int time)
    {
    timer =new Timer();
    timer.schedule(new TimerWork(),time *1000);
    }

    public static void main(String[] args) {
    System.out.println("timer begin....");
    System.out.println("系统自动摧毁计划将在10秒后执行");
    new TimeWork(10);
    }

    public class TimerWork extends TimerTask
    {
    public void run(){
    System.out.println("Time's up!!!");
    System.out.println("系统以摧毁");
    }
    }

    }


    //----------------------------------------------------------------------------------------------
    
    



    //在指定时间执行定时任务
    public class ZDTime {
    Timer timer;

    public ZDTime() {
    Date time = getTime();
    System.out.println("指定时间 Time" + time);
    timer = new Timer();
    timer.schedule(new ZDTimes(), time);
    }

    //到11点执行线程任务
    public Date getTime() {
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, 11);
    calendar.set(Calendar.MINUTE, 00);
    calendar.set(Calendar.SECOND, 00);
    Date time = calendar.getTime();
    return time;
    }

    public class ZDTimes extends TimerTask {
    @Override
    public void run() {
    System.out.println("指定时间摧毁目标");
    }
    }

    public static void main(String[] args) {
    new ZDTime();
    }
    }

    //----------------------------------------------------------------------------------------------


    //时间已经超过啦不执行或者换成明天执行
    public class LaterTime
    {
    public void timeRun(){
    //一天的毫秒数
    long msec = 24*3600*1000;
    //规定的每天时间。。运行
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd 12:00:00");
    //首次运行时间
    try {
    Date fristStartTime =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));
    //如果今天时间已过 首次运行时间就改为明天
    if(System.currentTimeMillis()>fristStartTime.getTime())
    {
    fristStartTime=new Date(fristStartTime.getTime()+msec);
    }
    Timer timer=new Timer();
    TimerTask task=new TimerTask() {
    @Override
    public void run() {
    System.out.println("定时任务执行");
    }
    };
    //以每24小时执行一次
    timer.schedule(task,fristStartTime,msec);
    } catch (Exception e) {
    e.printStackTrace();
    }

    }

    public static void main(String[] args) {
    new LaterTime().timeRun();
    }
    }
  • 相关阅读:
    alpine下ruby安装sass compass报 Error installing compass 错误的解决方案
    Andoid项目中增加openCV的依赖
    appium教程_4.adb常用命令
    appium教程_2.概念加深
    appium教程_1.基础概念认知
    windows下查看进程(进阶)
    linux下安装google-chrome浏览器和chromedriver
    钉钉内网穿透windows启动命令
    Docker
    HTTP协议
  • 原文地址:https://www.cnblogs.com/LQ970811/p/12175086.html
Copyright © 2020-2023  润新知