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 类中常用的方法包括:
-
void cancel()
:取消任务的执行。 -
boolean cancel()
:判断任务是否已经被取消。 -
long scheduledExecutionTime()
:返回任务最近一次被执行的时间。 -
abstract void run()
:任务执行时的逻辑具体实现,需要在子类中重写该方法。
TimerTask 类中还有一些辅助方法,主要用于任务的调度和设置:
-
void scheduledExecutionTime(Date time)
:设置任务的执行时间。 -
void schedule(Timer timer, Date time)
:将任务安排在指定的时间开始执行。 -
void schedule(Timer timer, long delay)
:在指定的延迟时间后开始执行任务。 -
void schedule(Timer timer, long delay, long period)
:在指定的延迟时间后开始执行任务,并以指定的间隔时间重复执行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现