我想编写一个程序,在执行时将检查系统时间,如果系统时间是...在下午5点到晚上8点之间(或在17:00到20:00之间),它将运行一个命令,否则它将退出。
我比我想的更难以确定如何做到这一点。迄今为止我发现的是,我可以从
的可读输出中获取当前日期和时间DateTime.Now
但我不知道如何命令程序运行命令,具体取决于它是什么时间(无论日期。)并使用DateTime.Now获取时间然后玩字符串直到它给我一个双重或整数,它似乎是一种相当“不酷”的做法
答案 0 :(得分:3)
就像这样,例如检查当前小时是否在17到20之间。 只需更改值:
if (DateTime.Now.Hour > 17 && DateTime.Now.Hour < 20)
{
//Do stuff
}
编辑:如果您想在if语句中包含小时数,请使用&gt; =&lt; =
if (DateTime.Now.Hour >= 17 && DateTime.Now.Hour <= 20)
{
//Do stuff
}
答案 1 :(得分:0)
如果您需要更好地控制时间,例如在“窗口”中包含分钟,那么请使用两个TimeSpan:
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 ...
}