.NET DateTime 差异 - 已经过去了一年
.NET DateTime difference - has a year passed
我正在尝试使用以下代码确定一年是否过去了:
bool HasYearPassed
{
get
{
var inception = InceptionDate.Value; // DateTime Value from UI
var expiration = ExpirationDate.Value; // DateTime Value from UI
TimeSpan difference = expiration - inception;
return difference.Days > 365;
}
}
但是,在某些情况下,我得到的答案不正确。具体来说,如果开始日期为 1/1/2014,到期日期为 1/1/2015,则 difference.Days returns 365 未通过测试,尽管确实已经过去了一年。有什么改进逻辑的建议吗?
谢谢!
不关心闰年的解决方案:
DateTime inception = InceptionDate.Value;
DateTime expiration = ExpirationDate.Value;
return expiration.Date.AddYears(-1) >= inception.Date;
我正在尝试使用以下代码确定一年是否过去了:
bool HasYearPassed
{
get
{
var inception = InceptionDate.Value; // DateTime Value from UI
var expiration = ExpirationDate.Value; // DateTime Value from UI
TimeSpan difference = expiration - inception;
return difference.Days > 365;
}
}
但是,在某些情况下,我得到的答案不正确。具体来说,如果开始日期为 1/1/2014,到期日期为 1/1/2015,则 difference.Days returns 365 未通过测试,尽管确实已经过去了一年。有什么改进逻辑的建议吗?
谢谢!
不关心闰年的解决方案:
DateTime inception = InceptionDate.Value;
DateTime expiration = ExpirationDate.Value;
return expiration.Date.AddYears(-1) >= inception.Date;