我正在尝试确定帐户是否在30天内过期。我是否正确使用DateTime比较?
if (DateTime.Compare(expiryDate, now) < 30)
{
matchFound = true;
}
最佳答案
否。Compare
仅提供有关两个日期的相对位置的信息:更少,相等或更大。您想要的是这样的:
if ((expiryDate - DateTime.Now).TotalDays < 30)
matchFound = true;
这减去两个
DateTime
。结果是具有TimeSpan
属性的 TotalDays
对象。另外,条件可以直接写为:
matchFound = (expiryDate - DateTime.Now).TotalDays < 30;
无需
if
。