比较 2 个DateTime
对象的时间的最佳方法是什么?
例如
- 日期时间1 = 2012-07-30 01:00
- 日期时间2 = 2012-08-01 02:00
我只需要比较时间而不是日期。
谢谢
if (DateTime1.TimeOfDay > DateTime2.TimeOfDay)
{
MessageBox.Show("DateTime1 is later");
}
您可以使用DateTime.TimeOfDay
来获取要比较的时间部分。这与您所做的基本相同d - d.Date
。
使用TimeOfDay
属性:
http://msdn.microsoft.com/en-us/library/system.datetime.timeofday.aspx
这为您提供了没有日期部分的值的时间部分。
尝试这样的事情:
TimeSpan ts = d1 - d2;
int totalSecondNumber = ts.TotalSeconds;
TimeSpan 是日期之间的差异。它为您提供 TotalSeconds、TotalHours 等属性或仅提供 Seconds、Hours 等属性
使用 DateTime.TimeOfDay 的示例代码
DateTime timeNow = DateTime.Now;
DateTime fromTime = new DateTime(2015, 11, 14, 08, 00, 00);
DateTime toTime = new DateTime(2015, 11, 14, 14, 30, 00);
if (TimeSpan.Compare(timeNow.TimeOfDay, fromTime.TimeOfDay) == 1 && TimeSpan.Compare(timeNow.TimeOfDay, toTime.TimeOfDay) == -1)
{
}
在上面的代码中,如果变量 timeNow 介于 08:00:00 到 14:30:00 之间,则条件为真。
1 represents time1 > time2
0 represents time1 = time2
-1 represents time1 < time2