java定时每天指定时间执行任务
/*** @param time 每天几点执行定时任务 24小时制时间 例: 08:00:00 20:00:00* @throws ParseException*/
private void timing(String time) throws ParseException {int hour = Integer.parseInt(time.substring(0, 2));SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 获取当前小时Calendar calendar = Calendar.getInstance();calendar.setTime(new Date());int currentHour = calendar.get(Calendar.HOUR_OF_DAY);long delayTime;long currentTime = System.currentTimeMillis();if (currentHour < hour) {// 延时时间 = 当天8点-当前时间String currentDay = format1.format(new Date());long currentDay8 = format2.parse(currentDay + " " + time).getTime();delayTime = currentDay8 - currentTime;} else if (currentHour == hour) {delayTime = 0;} else {// 延时时间 = 明天8点-当前时间Date date = new Date();Calendar c = Calendar.getInstance();c.setTime(date);c.add(Calendar.DATE, 1);String nextDay = format1.format(c.getTime());long nextDay8 = format2.parse(nextDay + " " + time).getTime();delayTime = nextDay8 - currentTime;}TimerTask task = new TimerTask() {@Overridepublic void run() {//TODO 执行任务}};Timer timer = new Timer(true);timer.schedule(task, delayTime, 24 * 60 * 60 * 1000);
}
方法调用
try {// 每天8点执行定时任务timing("08:00:00");
} catch (ParseException e) {e.printStackTrace();
}
java定时每天指定时间执行任务相关推荐
- java+timer+退出,java timer 兑现在指定时间执行方法
java timer 实现在指定时间执行方法 最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下. 下面是我写的一些代码 imp ...
- java 调度任务_Java Quartz 任务指定时间执行,任务调度框架
quartz,spring-quartz,spring-task,spring-schedule四者的区别: quartz 是一个调度器,可以放任务进去,对任务指定时间执行. spring-quart ...
- java每隔1分钟执行一次_启动系统定时器,每隔1分钟/指定时间执行任务 学习笔记...
import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask ...
- 分布式定时任务原理以及解决方案-指定时间执行定时任务
分布式定时任务原理以及实现 一.单机指定时间执行定时任务实现方式 Timer运行机制 ScheduledThreadPoolExecutor的运行机制 原理图 Leader/Follower模式 Ti ...
- python3 延时、定时、指定时间执行任务的几种方法
1.死循环实现每 n秒 执行任务 #!/usr/bin/env python import timewhile True: print(time.strftime("%Y-%m-%d %H: ...
- sql语句延时执行或者是指定时间执行
--使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行 waitfor d ...
- linux中用at命令5分钟后执行,我使用过的Linux命令之at - 在指定时间执行一次任务...
我使用过的Linux命令之at - 在指定时间执行一次任务 用途说明 at命令用于在指定时间执行一次任务.如果任务需要重复执行,需用crontab. atq用于打印队列中的任务,atrm用于删除任务. ...
- 【UiBot】RPA定时触发:机器人如何在指定时间执行任务?
Q:RPA机器人如何在指定时间点执行任务? A:用流程机器人(UiBot Worker),设置定时触发. 人机交互的流程机器人(UiBot Worker)除了手动运行流程之外,还提供了"触发 ...
- java中获取指定时间的时间戳
在 Java 中,可以使用 Instant 类来获取指定时间的时间戳. 首先,你需要使用 ZonedDateTime 类来表示指定的时间.你可以使用 ZonedDateTime.of 方法来创建一个 ...
最新文章
- 刚子扯个蛋 说下增、删、改、查
- 实验测试2SK241的g-s击穿电压
- [转]COM对象创建-外部机制
- 华为鸿蒙2.0操作页面,华为鸿蒙2.0开面界面确认,这一变化你可懂
- 计算机视觉论文-2021-06-23
- 图解:SQL SERVER2005的安装
- word页面顺序倒过来_Word里的表格,行之间的顺序如何颠倒过来?
- 对JQuery中Ajax应用与jQuery插件的理解与笔记
- 数据库介绍(MySQL安装 体系结构、基本管理)
- Qt数据库应用3-数据打印到pdf
- Java二叉树的层序遍历leetcode
- k3595参数_全系列三极管应用参数
- [深度学习概念]·非极大值抑制解析
- 如何获取有价值的用户反馈?
- 微信小程序(小游戏)的示例
- 项目资源管理-日历图
- cmd命令打开及切换目录路径
- 北斗再入试题,北京中考物理实验【探究题】占比过半 方格教育
- Android组件系列——Content Provider
- windows程序设计读书笔记一