两个日期时间之间的差异

时间:2013-11-23 15:53:50

标签: c# datetime

我想计算两个DateTimes之间的差异。这就是我所拥有的:

if ((DateTime.Now.Date - TheUTCDateTime.Date).TotalMinutes > 180) 
{ 
      ValidObject = false;
}

基本上,我想确保TheUTCDateTime不超过3个小时。我正在做的最好的方法是做什么?

3 个答案:

答案 0 :(得分:3)

您可能不想提取日期,也许想要使用UtcNow代替Now。 您还可以在此期间使用TimeSpan.FromHours

if ((DateTime.UtcNow - TheUTCDateTime) > TimeSpan.FromHours(3))

或只是

ValidObject = (DateTime.UtcNow - TheUTCDateTime) <= TimeSpan.FromHours(3);

答案 1 :(得分:1)

你的方法还可以,但你可以稍微改进一下:

TimeSpan span = DateTime.Now - TheUTCDateTime.Date;
ValidObject = span.TotalHours <= 3;

由于您要查看我使用TotalHours的小时数,因此我使用DateTime.Now代替Date来截断时间,我也将其设置为true您的代码只会将其设置为false

答案 2 :(得分:1)

如果您想检查TheUTCDateTime是否超过3小时,则不应使用.Date属性:

DateTime.UtcNow - TheUTCDateTime > TimeSpan.FromHours(3)