0

我想编写一个程序,在执行时会检查系统时间,如果系统时间是……在下午 5 点到晚上 8 点(或 17:00 到 20:00 之间),它将运行一个命令,否则它只会退出。

我比我想象的要弄清楚如何做到这一点更难。到目前为止,我发现的只是我可以从以下的可读输出中获取当前日期和时间

DateTime.Now

但我不知道如何命令程序运行命令,具体取决于它是一天中的什么时间(无论日期如何。)并使用 DateTime.Now 来获取时间然后玩弄字符串,直到它给我一个双倍或int for what time 这似乎是一种相当“不酷”的做法

4

2 回答 2

3

例如,检查当前时间是否在 17 到 20 之间。只需更改值:

 if (DateTime.Now.Hour > 17 && DateTime.Now.Hour < 20)
 { 
   //Do stuff
 }

编辑:如果您想在 if 语句中包含小时数,请使用 >= <=

 if (DateTime.Now.Hour >= 17 && DateTime.Now.Hour <= 20)
 { 
   //Do stuff
 }
于 2013-04-30T11:11:45.700 回答
0

If you need finer control over the timing, such as including minutes in your "window", then use two TimeSpan's like this:

TimeSpan start = new TimeSpan(17, 30, 0); // 5:30 pm
TimeSpan stop = new TimeSpan(20, 45, 0); // 8:45 pm
if (DateTime.Now.TimeOfDay >= start && DateTime.Now.TimeOfDay <= stop)
{
    // ... do something ...
}
于 2013-04-30T13:02:32.967 回答