Calendar和TimerTask类介绍

前言:

Calendar 类是 Java 提供的日期和时间操作的类,它可以用于获取、设置和操作日期和时间的各个部分,比如年、月、日、时、分、秒等。通过 Calendar 类,我们可以进行日期的比较、计算、格式化、增减等操作。它是一个抽象类,可以使用静态方法 getInstance() 获取 Calendar 对象的实例。

TimerTask 类是 Java 提供的一个工具类,用于在指定的时间间隔内执行任务。它是 Timer 类的内部类,通过 Timer 和 TimerTask 的配合使用,可以实现定时任务的调度和执行。TimerTask 类中的 run() 方法定义了具体的任务逻辑,我们可以继承 TimerTask 类,并重写该方法来自定义自己的任务内容。TimerTask 类可以在一次性执行或者重复执行多次。

 

使用案例:

复制代码
 Calendar currentTime=Calendar.getInstance(); //获取当前时间
        //设置要执行的代码的目标时间
        Calendar targetTime=Calendar.getInstance();
        targetTime.set(Calendar.YEAR,2023);
        targetTime.set(Calendar.MONTH,Calendar.AUGUST);
        targetTime.set(Calendar.DAY_OF_MONTH,9);
        targetTime.set(Calendar.HOUR_OF_DAY,16);
        targetTime.set(Calendar.MINUTE,1);
        targetTime.set(Calendar.SECOND,0);

        long delay=targetTime.getTimeInMillis()-currentTime.getTimeInMillis();
        System.out.println(delay);
        Timer timer=new Timer();
        TimerTask task=new TimerTask() {
            @Override
            public void run() {
                System.out.println("时间已到");
...//执行其他任务 } }; timer.schedule(task,delay);
复制代码

 

其他相关方法:

TimerTask 类中常用的方法包括:

  1. void cancel():取消任务的执行。

  2. boolean cancel():判断任务是否已经被取消。

  3. long scheduledExecutionTime():返回任务最近一次被执行的时间。

  4. abstract void run():任务执行时的逻辑具体实现,需要在子类中重写该方法。

TimerTask 类中还有一些辅助方法,主要用于任务的调度和设置:

  1. void scheduledExecutionTime(Date time):设置任务的执行时间。

  2. void schedule(Timer timer, Date time):将任务安排在指定的时间开始执行。

  3. void schedule(Timer timer, long delay):在指定的延迟时间后开始执行任务。

  4. void schedule(Timer timer, long delay, long period):在指定的延迟时间后开始执行任务,并以指定的间隔时间重复执行。

posted @   斌哥的小弟  阅读(30)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示