C#中,Timer是一个定时器,它可以按照指定的时间间隔或者指定的时间执行一个事件。

指定时间间隔是指按特定的时间间隔,如每1分钟、每10分钟、每1个小时等执行指定事件;

指定时间是指每小时的第30分、每天10:30:30(每天的10点30分30秒)等执行指定的事件;

在上述两种情况下,都需要使用 Timer.Interval,方法如下:

1、按特定的时间间隔:

using System;
using System.Timers; namespace TimerExample
{
class Program
{ static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = ; //执行间隔时间,单位为毫秒; 这里实际间隔为10分钟
timer.Start();
timer.Elapsed += new System.Timers.ElapsedEventHandler(test); Console.ReadKey();
} private static void test(object source, ElapsedEventArgs e)
{ Console.WriteLine("OK, test event is fired at: " + DateTime.Now.ToString()); }
}
}

上述代码,timer.Inverval的时间单位为毫秒,600000为10分钟,所以,上代码是每隔10分钟执行一次事件test。注意这里是Console应用程序,所以在主程序Main中,需要有Console.Readkey()保持Console窗口不关闭,否则,该程序执行后一闪就关闭,不会等10分钟的时间。

2、在指定的时刻运行:

using System;
using System.Timers; namespace TimerExample1
{
class Program
{ static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = ;//执行间隔时间,单位为毫秒;此时时间间隔为1分钟
timer.Start();
timer.Elapsed += new System.Timers.ElapsedEventHandler(test); Console.ReadKey();
} private static void test(object source, ElapsedEventArgs e)
{ if (DateTime.Now.Hour == && DateTime.Now.Minute == ) //如果当前时间是10点30分
Console.WriteLine("OK, event fired at: " + DateTime.Now.ToString()); }
}

上述代码,是在指定的每天10:30分执行事件。这里需要注意的是,由于是指定到特定分钟执行事件,因此,timer.Inverval的时间间隔最长不得超过1分钟,否则,长于1分钟的时间间隔有可能会错过10:30分这个时间节点,从而导致无法触发该事件。

 
 

C# Timer 定时任务的更多相关文章

  1. 【Python】模块学习之Timer定时任务,递归定时自调获取博客浏览量

    Timer定时任务 下面是Timer函数的官方doc介绍信息 """ Call a function after a specified number of second ...

  2. Timer定时任务

    // main方法 public static void main(String[] args) { timerEnter(); } // 设定指定任务task在指定延迟delay后进行固定延迟per ...

  3. Java基础复习--java.util.Timer定时任务

    在java中,Timer类主要用于定时性.周期性任务 的触发,这个类中有两个方法比较难理解,那就是schedule和scheduleAtFixedRate方法,在这里就用实例分析一下. (1)sche ...

  4. Spring Boot笔记(六) springboot 集成 timer 定时任务

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.创建具体要执行的任务类: package com.example.poiutis.timer; im ...

  5. java定时任务Timer与ScheduledExecutorService<转>

    在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面LZ就其原理.实例以及Timer缺陷三个方面来解析java Timer定时器. ...

  6. 详解java定时任务

    在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面LZ就其原理.实例以及Timer缺陷三个方面来解析JavaTimer定时器. ...

  7. python 定时任务

    Python 定时任务 最近学习到了 python 中两种开启定时任务的方法,和大家分享一下心得. sched.scheduler() threading.Timer() sched 定时任务 使用s ...

  8. Java之定时任务详解

    在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面就其原理.实例以及Timer缺陷三个方面来解析java Timer定时器. 在 ...

  9. 具体解释java定时任务

    在我们编程过程中假设须要运行一些简单的定时任务,无须做复杂的控制.我们能够考虑使用JDK中的Timer定时任务来实现. 以下LZ就其原理.实例以及Timer缺陷三个方面来解析java Timer定时器 ...

随机推荐

  1. fork()相关的源码解析

    fork()的真正执行采用的是do_fork()函数,所以下文将从do_fork()函数对fork()进行源码解析.下图是do_fork()的源码函数设计: 从上图我们可以看到do_fork()涉及到 ...

  2. asp.net导入后台代码

    public void Upload(string information){ int Bank = 0; for (int i = 0; i <Request.Files.Count; i++ ...

  3. Oracle 中 编写 function 和 procedure 的注意事项

    create or replace function sum_pro( v_a number, v_b number ) return number is -- v_result number(10) ...

  4. 【ASP.NET Core】在CentOS上安装.NET Core运行时、部署到CentOS

    第一步:Add the dotnet product feed sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc ...

  5. 旷视研究院Detection组负责人

    http://www.skicyyu.org/ https://zhuanlan.zhihu.com/p/61910297 俞刚,旷视研究院Detection组负责人.2014年博士毕业于新加坡南洋理 ...

  6. MVC 使用缓存

    public AController() { ViewBag[); } private List<BlogsClass> GetClass(int parentId) { List< ...

  7. SDK?JDK?JDK 下载、安装、配置图文教程

    什么是软件开发工具包(SDK)   开发一个软件,需要经过编辑.编译.调试.运行几个过程. 编辑:使用编程语言编写程序代码的过程. 编译:如上一节所讲,就是将编写的程序进行翻译. 调试:程序不可能一次 ...

  8. VScode中运行python程序,使用Code Runner插件

    把我的py文件加载在里面,想要运行一下. 可是...没有动静 于是我又到网上去查,原来要配置tasks.json,可我照着网上的方法弄好后还是没法运行,于是我便投入了code runner的怀抱 co ...

  9. 最短路径 SPFA P3371 【模板】单源最短路径(弱化版)

    P3371 [模板]单源最短路径(弱化版) SPFA算法: SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环.SPFA 最坏情况下复 ...

  10. Python基础_列表 list

    列表是Python的一种基础数据类型,可以进行的操作包括索引,切片,加,乘,检查成员 列表定义: list(列表.数组) eg:stus=['lisi','jion','peter'] #下标:即角标 ...