我有一个DateTime对象,其中存储了DateTime。
我如何获取该DateTime并比较其时间,以便我可以检查该DateTime中的时间是大于还是小于11:00:00或20:00:00等?
答案 0 :(得分:4)
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"));