新建测试Demo类执行定时任务
| package com.task.zhixingshijian; |
| |
| import java.time.LocalDateTime; |
| import java.time.temporal.ChronoField; |
| import java.util.*; |
| |
| |
| |
| |
| |
| |
| |
| public class TaskDemo { |
| |
| |
| |
| |
| |
| |
| |
| public void timing(LocalDateTime localDateTime, Map<String, String> timing) { |
| Calendar calendar = Calendar.getInstance(); |
| |
| calendar.set(Calendar.YEAR, localDateTime.get(ChronoField.YEAR)); |
| |
| calendar.set(Calendar.MONTH, localDateTime.get(ChronoField.MONTH_OF_YEAR)-1); |
| |
| calendar.set(Calendar.DAY_OF_MONTH, localDateTime.get(ChronoField.DAY_OF_MONTH)); |
| |
| calendar.set(Calendar.HOUR_OF_DAY, localDateTime.get(ChronoField.HOUR_OF_DAY)); |
| |
| calendar.set(Calendar.MINUTE, localDateTime.get(ChronoField.MINUTE_OF_HOUR)); |
| |
| calendar.set(Calendar.SECOND, localDateTime.get(ChronoField.SECOND_OF_MINUTE)); |
| Date time = calendar.getTime(); |
| Timer timer = new Timer(); |
| |
| timer.schedule(new TimerTask() { |
| @Override |
| public void run() { |
| System.out.println("执行了指定执行时间任务,localDateTime:" + LocalDateTime.now()); |
| System.out.println("执行内容:" + timing.toString()); |
| } |
| }, time); |
| } |
| } |
| |
创建项目启动后进行配置具体时间执行定时类
注意:此类只是测试一下,如果项目中是不需要此类的
| package com.task.zhixingshijian; |
| |
| import org.springframework.stereotype.Component; |
| |
| import java.time.LocalDateTime; |
| import java.util.HashMap; |
| import java.util.Map; |
| |
| |
| |
| |
| |
| |
| |
| @Component |
| public class TaskCommandLineRunner implements org.springframework.boot.CommandLineRunner { |
| |
| |
| |
| |
| |
| @Override |
| public void run(String... args) { |
| |
| LocalDateTime localDateTime1 = LocalDateTime.of(2022, 9, 28, 10, 14, 00); |
| Map<String, String> timing1 = new HashMap<>(); |
| timing1.put("name", "timing1"); |
| new TaskDemo().timing(localDateTime1, timing1); |
| |
| LocalDateTime localDateTime2 = LocalDateTime.of(2022, 9, 28, 10, 13, 00); |
| Map<String, String> timing2 = new HashMap<>(); |
| timing2.put("name", "timing2"); |
| new TaskDemo().timing(localDateTime2, timing2); |
| |
| LocalDateTime localDateTime3 = LocalDateTime.of(2022, 9, 28, 10, 15, 00); |
| Map<String, String> timing3 = new HashMap<>(); |
| timing3.put("name", "timing3"); |
| new TaskDemo().timing(localDateTime3, timing3); |
| } |
| } |
| |
运行效果

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!