采用DateTime并比较时间

时间:2018-04-17 07:28:09

标签: c# datetime time compare

我有一个DateTime对象,其中存储了DateTime。

我如何获取该DateTime并比较其时间,以便我可以检查该DateTime中的时间是大于还是小于11:00:00或20:00:00等?

4 个答案:

答案 0 :(得分:4)

你可以使用

TimeOfDay;

DateTime today = DateTime.Now;
TimeSpan timeCheck = (7,0,0)    //07:00 
If(today.TimeOfDay > timeCheck)
{
   //do something
}

或者您也可以使用Hour以某种方式获取日期的小时组成部分;

    DateTime today = DateTime.Now;
    If(today.Hour > 6)
    {
       //do something
    }

答案 1 :(得分:2)

您可以尝试使用TimeOfDay

  DateTime source = DateTime.Now;

  if (source.TimeOfDay >= new TimeSpan(11, 0, 0) &&
      source.TimeOfDay <= new TimeSpan(20, 0, 0)) {
    ...
  }

答案 2 :(得分:0)

尝试使用DateTime.CompareTo方法(DateTime)。

https://msdn.microsoft.com/en-us/library/5ata5aya(v=vs.110).aspx

答案 3 :(得分:0)

这是另一种方法。

        DateTime dt = DateTime.Now;
        int[] timeOnly = Array.ConvertAll(dt.ToString("HH:mm:ss").Split(':'), int.Parse);
        TimeSpan ts = new TimeSpan(timeOnly[0],timeOnly[1],timeOnly[2]);
          if (ts >= new TimeSpan(11, 0, 0) && ts <= new TimeSpan(20, 0, 0)) {
              Console.WriteLine("InBetween");
  }
        else
            Console.WriteLine(dt.ToString("HH:mm:ss"));

Proof of work