我想计算两个DateTimes之间的差异。这就是我所拥有的:
if ((DateTime.Now.Date - TheUTCDateTime.Date).TotalMinutes > 180)
{
ValidObject = false;
}
基本上,我想确保TheUTCDateTime
不超过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)