比较DateTime值是否在特定小时之间

时间:2012-12-14 07:11:12

标签: c# datetime

如何比较当前时间与其他时间..

System.DateTime.Now.Hour

这是为了获得一个小时。 我想要的是如果时间介于两者之间

7 AM                 to            02:59 PM  //Do something
03:00 PM             to            10:59 PM  //Do something
11:00 PM             to            06:59 AM  //Do something     

请给我任何想法..?

2 个答案:

答案 0 :(得分:5)

您可以使用 DateTime.TimeOfDay 属性将时间与当前时间进行比较。

TimeSpan startTime = new TimeSpan(7,0,0);
TimeSpan endTime = new TimeSpan(2, 59, 0);

if (DateTime.Now.TimeOfDay >= startTime &&
    DateTime.Now.TimeOfDay <= endTime)
{
    //in range
}
else
{
    //not in range. 

}

答案 1 :(得分:0)

您实际上可以对DateTime进行算术运算,并返回一个时间跨度。

        DateTime d1 = new DateTime(2012, 12, 12, 5, 5, 5);
        DateTime d2 = DateTime.Now;
        TimeSpan ts = new TimeSpan();
        ts = d2 - d1;