我有一个程序,我不需要在星期六运行几个小时。我如何对其进行编码以检查当前时间是否是 1800 到 2100 之间的星期六?我设置了日期时间,并想我可以先检查一下 dayofweek = 6,然后检查时间是否在这两个小时之间,但我想知道是否有人知道更好的方法?
谢谢!
我有一个程序,我不需要在星期六运行几个小时。我如何对其进行编码以检查当前时间是否是 1800 到 2100 之间的星期六?我设置了日期时间,并想我可以先检查一下 dayofweek = 6,然后检查时间是否在这两个小时之间,但我想知道是否有人知道更好的方法?
谢谢!
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
}
使用 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