.NET DateTime差异 - 已过去一年

lac*_*dev 1 .net datetime timespan

我正在尝试使用以下代码确定是否已过去一年:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下,我得到的答案不正确.具体来说,如果启动日期是2014年1月1日,到期日期是2015年1月1日,则difference.Days返回365,但测试失败,尽管确实已经过了一年.有什么改进逻辑的建议吗?

谢谢!

Tim*_*ter 7

一个不关心闰年的解决方案:

DateTime inception = InceptionDate.Value; 
DateTime expiration = ExpirationDate.Value; 
return expiration.Date.AddYears(-1) >= inception.Date;
Run Code Online (Sandbox Code Playgroud)