2 DateTime时间的比较c#

时间:2012-07-30 15:06:39

标签: c# datetime

比较2 DateTime个对象的时间的最佳方法是什么?

例如

  • DateTime1 = 2012-07-30 01:00
  • DateTime2 = 2012-08-01 02:00

我只需要比较时间而不是日期。

由于

6 个答案:

答案 0 :(得分:9)

if (DateTime1.TimeOfDay > DateTime2.TimeOfDay)
{
    MessageBox.Show("DateTime1 is later");
}

答案 1 :(得分:3)

您可以使用DateTime.TimeOfDay来获取要比较的时间部分。这与您d - d.Date完全相同。

答案 2 :(得分:3)

使用TimeOfDay属性:

http://msdn.microsoft.com/en-us/library/system.datetime.timeofday.aspx

这为您提供了没有日期部分的值的时间部分。

答案 3 :(得分:1)

尝试这样的事情:

TimeSpan ts = d1 - d2;
int totalSecondNumber = ts.TotalSeconds;

TimeSpan是日期之间的差异。它为您提供TotalSeconds,TotalHours等属性或仅为秒,小时等

答案 4 :(得分:1)

使用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

答案 5 :(得分:0)

如果您要比较两次之间的差异,则应使用Timespan对象。

通过使用Timespan,您可以获得秒,小时和天等的差异。

有关详细信息,请查看以下内容:

Timespan