如果帐户在30天内到期,我正在努力解决问题.我正确使用DateTime比较吗?
if (DateTime.Compare(expiryDate, now) < 30)
{
matchFound = true;
}
Run Code Online (Sandbox Code Playgroud)
Kon*_*lph 209
我正确使用DateTime比较吗?
No. Compare
仅提供有关两个日期的相对位置的信息:更少,相等或更大.你想要的是这样的:
if ((expiryDate - DateTime.Now).TotalDays < 30)
matchFound = true;
Run Code Online (Sandbox Code Playgroud)
这减去了两个DateTime
.结果是TimeSpan
具有TotalDays
属性的对象.
另外,条件可以直接写为:
matchFound = (expiryDate - DateTime.Now).TotalDays < 30;
Run Code Online (Sandbox Code Playgroud)
不需要if
.
Luk*_*uke 14
应该
matchFound = (expiryDate - DateTime.Now).TotalDays < 30;
Run Code Online (Sandbox Code Playgroud)
注意总天数,否则你会得到明智的行为
好吧,我会这样做:
TimeSpan diff = expiryDate - DateTime.Today;
if (diff.Days > 30)
matchFound = true;
Run Code Online (Sandbox Code Playgroud)
比较只响应一个表示天气的整数,第一个是更早,相同或更晚......
试试这个
if ( (expiryDate - DateTime.Now ).TotalDays < 30 ) {
matchFound = true;
}
Run Code Online (Sandbox Code Playgroud)