首页 > 代码库 > 经验总结34--C#计时器,准点统计

经验总结34--C#计时器,准点统计

最近做一个数据统计的功能,需要准点进行统计。

分别是1分钟,5分钟,30分钟,一天。

开始想着写4个计时器分别统计,但获取准点时间比较困难。

比如5分钟数据,10:02分时你得统计9:55-10:00的数据,判断太多。

最后思考下,一个1分钟计时器就可以了,如果到5分钟时间时同时进行1分钟和5分钟数据,后面依次类推。

1、计时器

System.Timers.Timer tradeTimer1 = new System.Timers.Timer();
            tradeTimer1.Interval = 1 * 60 * 1000; 
            tradeTimer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
            tradeTimer1.Enabled = true;

2、获取准点时间,往前一分钟靠拢

DateTime now = DateTime.Now;
                string str = now.ToShortDateString() + " " + now.ToShortTimeString();
                DateTime time = Convert.ToDateTime(str);

3、判断统计数据

//一分钟

//五分钟
                        if (time.Minute == 0 || time.Minute % 5 == 0)
                        {}

 //30分钟
                        if (time.Minute == 0 || time.Minute == 30)
                        {}

//一天
                        if (time.Minute == 0 && time.Hour == 0)
                        {}

经验总结34--C#计时器,准点统计