下面是之前在项目中使用到的定时器实现代码(每当项目重新启动时执行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定时器,每天固定时间执行相关推荐

  1. js定时器每天固定时间执行任务

    需求:在每天的固定时间执行任务,例如每天早上08:00起床,09:00刷牙,固定时间执行固定的任务 首先,定义一个方法,在方法内接收四个参数,一个参数是接收间隔的天数,第二个参数是接收具体某个时间点, ...

  2. java+timer+退出,java timer 兑现在指定时间执行方法

    java timer 实现在指定时间执行方法 最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下. 下面是我写的一些代码 imp ...

  3. Timer定时器每天的固定时间执行

    在网上看了好多介绍定时任务的方法,但是在使用的时候,如果当前时间是9:00,定时任务执行时间是8:59 就会造成在9点执行的程序的时候直接执行定时器中的方法. Tip:定时器超时还执行.如下代码解决了 ...

  4. java定时执行一次_java Timer(定时调用、实现固定时间执行)

    最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...

  5. java Timer(定时调用、实现固定时间执行)

    最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...

  6. 满满干货!mysql定时任务每天固定时间执行

    Spring 全家桶: Spring 原理 Spring面试题 思维导图 面试题 Spring视频 Spring 原理 Spring特点 Spring 核心组件 Spring常用模块 Spring主要 ...

  7. ajax定时器怎么写,js定时器怎么写?就是在特定时间执行某段程序

    js定时器怎么写?就是在特定时间执行某段程序 复制代码 代码如下: $(function(){ var handler = function(){ } var timer = setInterval( ...

  8. java每隔一段时间执行_8.Android中,每隔一段时间执行某一个任务(Timer)

    1,在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和 TimerTask. Tim ...

  9. c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理

    c# 使用timer定时器操作,下次定时到了以后,上次还未执行完怎么办 ------解决方案------------------------------------------------------ ...

最新文章

  1. Linux命令行与shell脚本编程大全:第2版
  2. 三元组顺序表表示的稀疏矩阵加法_数据结构实验题(三元组顺序表表示的稀疏矩阵转置运算)...
  3. c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc
  4. day22 Pythonpython 本文json模块
  5. python 谷歌登录_用Python登录Gmail并发送Gmail邮件的教程
  6. for循环执行 mybatis_Mybatis中使用循环遍历
  7. C语言 提取字符串中的所有整数
  8. 用户微信好友关系属于个人隐私吗?深圳南山法院说不属于...
  9. NumPy数值计算库-1
  10. CNN卷积层里的多输入多输出通道channel 动手学深度学习v2 pytorch
  11. 自己的界面添加ani动态炫酷光标
  12. 如何在Visio中绘制KPT模型中的用户(小人)?在哪里找?
  13. RESTFUL API 安全设计指南
  14. 使用MATLAB工具箱TOOLBOX_calib标定摄像头过程(双目标定)
  15. python-利用python写一个购物小程序
  16. python单向认证_使用Python进行单向方差分析的四种方法
  17. Windows 10 第七个大版本更新来了,10个全新功能安排得明明白白~
  18. Python学习 | 2022-1-14 在jupyternotebook中用markdown
  19. 如何将Google Authenticator移至新手机(或多部手机)
  20. 记一次页面区块点击无反应的问题排查

热门文章

  1. 为了不在赎金信中暴露字迹,从杂志上搜索各个需要的字母,组成单词来表达意思.
  2. 【程序人生】前端、后端、全栈工程师,分别是什么?又有什么区别?
  3. 百度人脸识别技术简单入门
  4. c语言结构体和联合体例题
  5. vue中路由的实现原理?
  6. 学python兼职靠谱吗_学个技术或者搞副业,什么靠谱?象象告诉你
  7. linux一切皆是文件_Linux中一切皆文件
  8. CSS 鼠标悬停提示文字
  9. python调用excel宏_用Python如何开发Excel宏脚本?新手必学
  10. 如何做一个基于python校园新生报到系统毕业设计毕设作品(Django框架)