c#中有“时间处理程序”吗?

时间:2012-06-24 12:11:31

标签: c# time timer handler

我想要一个持续运行的程序并不断监视时间。当它是下午15:30(仅作为示例)时,它将执行Console.Beep()(仅作为另一个示例)。有关如何做到这一点的任何想法?是的,我搜索了互联网,我发现了一些关于时间管理的MSDN,但从来没有关于如何继续倾听某些时间的事情。

2 个答案:

答案 0 :(得分:4)

您可能需要查看Quartz.Net

答案 1 :(得分:0)

我没有测试过这段代码,但这是一个开始。假设时间是15:30,该方法应该永远循环并发出蜂鸣声。

static void BeepWhen1530()
{
  var alarmTime = new TimeSpan(15, 30, 00);
  while (true)
  {
    var clock = DateTime.Now.TimeOfDay;
    if (clock >= alarmTime && clock < alarmTime + TimeSpan.FromMinutes(1.0))
    {
      Console.WriteLine("Alarm: BEEP!");
      Console.Beep();

      // wait for two minutes so the alarm won't go off again until tomorrow
      Thread.Sleep(TimeSpan.FromMinutes(2.0));
    }

    // wait some time so we won't consume too much cpu cycles
    Thread.Sleep(TimeSpan.FromMilliseconds(500.0));
  }
}