我想计算两个日期时间之间的差异。这是我有:两个日期时间之差
if ((DateTime.Now.Date - TheUTCDateTime.Date).TotalMinutes > 180)
{
ValidObject = false;
}
基本上,我想确保TheUTCDateTime
不超过3个小时了。我正在做什么最好的方式来做到这一点?
我想计算两个日期时间之间的差异。这是我有:两个日期时间之差
if ((DateTime.Now.Date - TheUTCDateTime.Date).TotalMinutes > 180)
{
ValidObject = false;
}
基本上,我想确保TheUTCDateTime
不超过3个小时了。我正在做什么最好的方式来做到这一点?
您可能不想提取日期,也许想使用UtcNow
而不是Now
。 您还可以使用TimeSpan.FromHours
期间:
if ((DateTime.UtcNow - TheUTCDateTime) > TimeSpan.FromHours(3))
或者干脆
ValidObject = (DateTime.UtcNow - TheUTCDateTime) <= TimeSpan.FromHours(3);
你的做法是好的,但你可以提高一点点:
TimeSpan span = DateTime.Now - TheUTCDateTime.Date;
ValidObject = span.TotalHours <= 3;
既然你想检查我使用的小时数TotalHours
,我用DateTime.Now
而不是Date
它截断了时间,我把它设置为也可以到true
,而您的代码只能将其设置为false
。
如果你想检查是否TheUTCDateTime
年龄超过3个小时,你不应该使用.Date
属性:
DateTime.UtcNow - TheUTCDateTime > TimeSpan.FromHours(3)
如果是这样'DateTime.UtcNow.Date'和'TimeSpan.FromHours(3 )'? –
@RussCam - 是的,谢谢。 – Lee