C#定时器在整点时或者跨天时触发事件

直接上源码:简单粗暴。
原理就是根据System.Timers.Timer定时每秒触发事件。

using System;
using System.Timers;
public class TimerClass
    {
        private Timer timer;
        private int iHour = 00;
        private int iMinute = 00;
        private int iSecond = 00;
        private static readonly TimerClass tc = new TimerClass();
        public static TimerClass GetInstance() {
            return tc;
        }
        private TimerClass() {
            timer = new Timer();
            timer.Interval = 1000;
            timer.Elapsed += Timer_Elapsed;
            timer.Enabled = true;
            Console.WriteLine("计时器初始化完成");
        }

        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            int intHour = e.SignalTime.Hour;
            int intMinute = e.SignalTime.Minute;
            int intSecond = e.SignalTime.Second;
            DateTime dt = e.SignalTime;
            if (iHour == intHour &&
                iMinute == intMinute &&
                iSecond == intSecond)
            {
                Console.WriteLine("00:00:00触发");
            }
            if (iMinute == intMinute && iSecond == intSecond)
            {
                Console.WriteLine("整点时触发的!!!");
            }
            if (iSecond == intSecond)
            {
                Console.WriteLine("每分钟触发的!!!");
            }

            Console.WriteLine("每秒触发的!!!");
            Console.WriteLine("当前时间!!=" + dt.ToString("hh-mm-ss"));
        }
        public void Stop() {
            timer.Stop();
        }
        public void Start()
        {
            timer.Start();
        }



    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值