1
我想,以確定是否一年使用下面的代碼通過:.NET日期時間差異 - 有一年過去了
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;
}
}
然而,在某些情況下我得到不正確的答案。具體而言,如果起始日期爲2014年1月1日,並且到期日期爲2015年1月1日,差異天數將返回365,但未通過測試,儘管一年已過。任何改善邏輯的建議?
謝謝!
什麼是「一年過去了」的定義是什麼?什麼是閏年? –
爲什麼然後'> 365'而不是'> = 365'? – rbm
閏年是當然的問題。你的財產獲得者沒有意義,差異總是一年。當start.AddYears(1)> = now時它已經過期。 –