博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#使用Timer.Interval指定时间间隔与指定时间执行事件
阅读量:4351 次
发布时间:2019-06-07

本文共 1845 字,大约阅读时间需要 6 分钟。

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 = 600000; //执行间隔时间,单位为毫秒; 这里实际间隔为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 = 60000;//执行间隔时间,单位为毫秒;此时时间间隔为1分钟              timer.Start();            timer.Elapsed += new System.Timers.ElapsedEventHandler(test);             Console.ReadKey();        }        private static void test(object source, ElapsedEventArgs e)        {            if (DateTime.Now.Hour == 10 && DateTime.Now.Minute == 30)  //如果当前时间是10点30分                Console.WriteLine("OK, event fired at: " + DateTime.Now.ToString());                    }    }

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

转载于:https://www.cnblogs.com/wusir/p/3636149.html

你可能感兴趣的文章
【BZOJ 1233】 [Usaco2009Open]干草堆tower (单调队列优化DP)
查看>>
07-3. 数素数 (20)
查看>>
写一个欢迎页node统计接口Py脚本(邮件,附件)-py
查看>>
计算两个日期之间的天数
查看>>
山东省第六届蓝桥杯 ///标题:三羊献瑞//c/c++组
查看>>
Unity火炬之光进度
查看>>
Android关于buildToolVersion与CompileSdkVersion的区别
查看>>
Linux企业级开发技术(7)——libevent企业级开发之锁和线程
查看>>
解决XCODE配置LLVM环境出现的问题
查看>>
Python爬虫基础
查看>>
Jmeter 监控远程服务器
查看>>
大数据 : Hadoop reduce阶段
查看>>
char*,const char*和string 三者转换
查看>>
[C/C++] VC2012编译的程序在WinXP下报告“指定的可执行文件不是有效的 Win32 应用程序”错误...
查看>>
Selenium通过监听事件实现自动截图
查看>>
Web开发中8个基础&&常见功能
查看>>
android 自定义控件 (二) 初步认识
查看>>
Android-Context
查看>>
Arts·St 挑战二周目
查看>>
Recycle团队项目第二次冲刺
查看>>