繁体   English   中英

2 DateTime时间的比较c#

[英]Comparison between time of 2 DateTime c#

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

例如

  • DateTime1 = 2012-07-30 01:00
  • DateTime2 = 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等属性或仅为秒,小时等

使用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之间,则条件变为true。

1 represents time1 > time2
0 represents time1 = time2
-1 represents time1 < time2

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

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

有关更多信息,请查看以下内容:

时间跨度

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM