Timer定时器,每天固定时间执行
下面是之前在项目中使用到的定时器实现代码(每当项目重新启动时执行ExecutionTimer方法)
executionTime :定时执行的时间,我设置的是每天19点定时执行一次,也可以把这个拎出去,当作参数传入,做次封装
timeSpan :当前时间与设定执行时间的间隔,当前时间小于设定时间,该值为正数,反之为负数(单位毫秒)
interval :每当项目重新启动时计算出当前时间距离执行时间的间隔,其中 timeSpan + 1 是为了防止重启项目时当前时间恰好与执行时间一致,导致 timeSpan 为 0,使定时器报错(第一个定时器执行的时间间隔,且只执行一次)
/// <summary>/// 执行定时器(每天定时19点执行相应方法)/// </summary>public static void ExecutionTimer(){DateTime executionTime = Convert.ToDateTime($"{DateTime.Now:yyyy-MM-dd} 19:00:00");DateTime nowTime = DateTime.Now;var timeSpan = (executionTime - nowTime).TotalMilliseconds;var interval = timeSpan >= 0 ? timeSpan + 1 : (12 * 60 * 60 * 1000) + timeSpan;// 重启网站时,如果此时的时间距离定时器执行的时间间隔大于30分钟,则执行相应方法if (timeSpan > 30 * 60 * 1000 || (timeSpan < -1 * 30 * 60 * 1000 && timeSpan < 0)){ExecutionMethod();}System.Timers.Timer timer = new System.Timers.Timer(interval) { AutoReset = false, Enabled = true };timer.Elapsed += (o, e) =>{ExecutionMethod();System.Timers.Timer newTimer = new System.Timers.Timer(12 * 60 * 60 * 1000) { AutoReset = true, Enabled = true };newTimer.Elapsed += (newO, newE) =>{ExecutionMethod();};newTimer.Start();};timer.Start();}
Timer定时器,每天固定时间执行相关推荐
- js定时器每天固定时间执行任务
需求:在每天的固定时间执行任务,例如每天早上08:00起床,09:00刷牙,固定时间执行固定的任务 首先,定义一个方法,在方法内接收四个参数,一个参数是接收间隔的天数,第二个参数是接收具体某个时间点, ...
- java+timer+退出,java timer 兑现在指定时间执行方法
java timer 实现在指定时间执行方法 最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下. 下面是我写的一些代码 imp ...
- Timer定时器每天的固定时间执行
在网上看了好多介绍定时任务的方法,但是在使用的时候,如果当前时间是9:00,定时任务执行时间是8:59 就会造成在9点执行的程序的时候直接执行定时器中的方法. Tip:定时器超时还执行.如下代码解决了 ...
- java定时执行一次_java Timer(定时调用、实现固定时间执行)
最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...
- java Timer(定时调用、实现固定时间执行)
最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...
- 满满干货!mysql定时任务每天固定时间执行
Spring 全家桶: Spring 原理 Spring面试题 思维导图 面试题 Spring视频 Spring 原理 Spring特点 Spring 核心组件 Spring常用模块 Spring主要 ...
- ajax定时器怎么写,js定时器怎么写?就是在特定时间执行某段程序
js定时器怎么写?就是在特定时间执行某段程序 复制代码 代码如下: $(function(){ var handler = function(){ } var timer = setInterval( ...
- java每隔一段时间执行_8.Android中,每隔一段时间执行某一个任务(Timer)
1,在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和 TimerTask. Tim ...
- c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理
c# 使用timer定时器操作,下次定时到了以后,上次还未执行完怎么办 ------解决方案------------------------------------------------------ ...
最新文章
- Linux命令行与shell脚本编程大全:第2版
- 三元组顺序表表示的稀疏矩阵加法_数据结构实验题(三元组顺序表表示的稀疏矩阵转置运算)...
- c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc
- day22 Pythonpython 本文json模块
- python 谷歌登录_用Python登录Gmail并发送Gmail邮件的教程
- for循环执行 mybatis_Mybatis中使用循环遍历
- C语言 提取字符串中的所有整数
- 用户微信好友关系属于个人隐私吗?深圳南山法院说不属于...
- NumPy数值计算库-1
- CNN卷积层里的多输入多输出通道channel 动手学深度学习v2 pytorch
- 自己的界面添加ani动态炫酷光标
- 如何在Visio中绘制KPT模型中的用户(小人)?在哪里找?
- RESTFUL API 安全设计指南
- 使用MATLAB工具箱TOOLBOX_calib标定摄像头过程(双目标定)
- python-利用python写一个购物小程序
- python单向认证_使用Python进行单向方差分析的四种方法
- Windows 10 第七个大版本更新来了,10个全新功能安排得明明白白~
- Python学习 | 2022-1-14 在jupyternotebook中用markdown
- 如何将Google Authenticator移至新手机(或多部手机)
- 记一次页面区块点击无反应的问题排查