繁体   English   中英

使用C#将时间转换为计时器间隔

[英]Convert time into Timer Interval using C#

我正在比较计时,并根据该计时器的分配间隔。

我有两个约会时间

对于即

Datetime dt1 = 04:00:00;
Datetime dt2 = 15:20:28;
Datetime dt3 = 24:00:00;

现在,我想设置在04:00:00调用计时器的间隔。 想想,现在时间是15:20:28,所以要在04:00:00调用计时器,我需要做一些操作。

所以,我应该怎么做才能在04:00:00呼叫Timer 简而言之,我想检查一下时间,如果不是04:00 AM,请设置适当的时间间隔以在04:00 AM呼叫计时器。

并将时间转换为计时器间隔

您无法致电计时器。 间隔时间结束后,计时器将唤醒。 您可以做的是计算从现在到凌晨4点的TimeSpan,并将Timer interval设置为此值。 或更有效的体系结构方法是将计时器间隔设置为每n秒,并在计时器唤醒时检查计时器间隔是否为4。

这是第一个选项的示例代码:

TimeSpan ts = new TimeSpan(new DateTime(2013,06,15,04,00,00).Ticks- DateTime.Now.Ticks);
        long ticks = ts.Ticks;
        long divide=    (long)Math.Pow(10, 7);
        long span = ticks / divide;
        timer.Interval = (int)span*1000;
        timer.Tick += timer_Tick;
        timer.Start();
var dt = ... // next 4:00 AM from now
var timer = new Timer(callback, null, dt - DateTime.Now, TimeSpan.FromHours(24));

检查这是否适合您

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM