我有一个程序,我不需要在星期六运行几个小时。如何编码以检查当前时间是否在周六1800到2100之间?我设置了日期时间,并且发现我可以先查看是否每天周六= 6,然后检查时间是否在这些时间之间,但我想知道是否有人知道更好的方法?
谢谢!
答案 0 :(得分:5)
if ((DateTime.Now.Hour >= 18 && DateTime.Now.Hour <= 21) && DateTime.Now.DayOfWeek == DayOfWeek.Saturday)
{
//it is between 6 and 9pm on saturday
}
或者我们可以反转整个事情并检查其他任何时间,但那些时间
if (!((DateTime.Now.Hour >= 18 && DateTime.Now.Hour <= 21) && DateTime.Now.DayOfWeek == DayOfWeek.Saturday))
{
//it is NOT between 6 and 9pm on saturday
}
编辑,或者如果您想对此进行优化并确保没有时间超过检查,即。进入或离开时间段,您可以这样做:
DateTime dt = DateTime.Now;
if ((dt.Hour >= 18 && dt.Hour <= 21) && dt.DayOfWeek == DayOfWeek.Saturday)
{
//it is between 6 and 9pm on saturday
}
或者我们可以反转整个事情并检查其他任何时间,但那些时间
if (!((dt.Hour >= 18 && dt.Hour <= 21) && dt.DayOfWeek == DayOfWeek.Saturday))
{
//it is NOT between 6 and 9pm on saturday
}
答案 1 :(得分:0)
使用c#
的DateTime库DateTime date = DateTime.Now;
TimeSpan startTime = new TimeSpan(18, 00, 00);
TimeSpan endTime = new TimeSpan(19, 00, 00);
if (date.DayOfWeek.Equals(DayOfWeek.Saturday) &&
date.TimeOfDay >= startTime &&
date.TimeOfDay <= endTime )
//Do the operation that you want