彼此在一年内的两个日期

jan*_*ann 3 c# asp.net datetime

我有两个约会,我如何检查两个日期是否超过一年?

简短的问题!:-)

Joe*_*orn 20

if (Math.Abs((d1 - d2).TotalDays) < 365)
Run Code Online (Sandbox Code Playgroud)

编辑:这应该更好地解释闰年.

if ( d1 <= d2 && d1.AddYears(1) >= d2 || d2 < d1 && d2.AddYears(1) > d1)
Run Code Online (Sandbox Code Playgroud)

更新:
我更喜欢@JDunkerley的解决方案:

if (d1 < d2 ? d2 < d1.AddYears(1) : d1 < d2.AddYears(1)) 
Run Code Online (Sandbox Code Playgroud)

  • @pestaa:你可以绕过那个案例:if(d1 <d2?d2 <d1.AddYears(1):d1 <d2.AddYears(1)) (4认同)