首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当c#中的日期时间发生变化时得到通知

当c#中的日期时间发生变化时得到通知
EN

Stack Overflow用户
提问于 2008-11-17 10:11:27
回答 4查看 12.8K关注 0票数 4

最近,我试图制作一个日历应用程序,该应用程序将向用户显示当前的年度月日期。问题是,如果用户将在第二天继续运行我的应用程序,那么如何通知我呢?如何更改显示的日期?我不想调查当前的日期来更新它。这在c#中是可能的吗。

注意:我尝试了SystemEvent.TimeChanged事件,但只有当用户手动更改控制面板中的时间/日期时,它才能工作。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-17 10:15:53

你能简单地计算出午夜前的秒数,然后睡那么长时间吗?

票数 4
EN

Stack Overflow用户

发布于 2008-11-17 10:22:29

@OddThinking的答案将有效(您可以为间隔设置一个计时器,而不是睡觉)。另一种方法是设置一个1分钟间隔的计时器,并简单地检查系统日期是否已更改。由于您每分钟只执行一次轻量级代码,所以我怀疑开销是否会被注意到。

票数 6
EN

Stack Overflow用户

发布于 2010-11-04 14:11:59

代码语言:javascript
复制
public void Main()
{

    var T = new System.Timers.Timer();

    T.Elapsed += CallBackFunction;

    var D = (DateTime.Today.AddDays(1).Date - DateTime.Now);

    T.Interval = D.TotalMilliseconds;

    T.Start();

}

private void CallBackFunction(object sender, System.Timers.ElapsedEventArgs e)
{

    (sender as System.Timers.Timer).Interval = (DateTime.Today.AddDays(1).Date - DateTime.Now).TotalMilliseconds;

}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/295235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档