如果条件不按预期工作c#

1fu*_*ure -2 c#

这现在困扰着我,我已经尝试过去一小时修复它但仍然没有运气!

我希望有人能发现我做错了什么.这是我的代码:

var maxDays = 30;
 DateTime today = DateTime.Now; //todays date
 DateTime lastAction = '2017-03-07 12:47:58.967';
  double totalDays = (lastAction - today).TotalDays;
  var days = Math.Round(totalDays);
if(days > maxDays)
{
  //never hits this even though days is greater than max days ..i'm so confused 
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Bil*_*uya 6

此处出现重复问题: C#两个日期之间的天数问题

Timespan.TotalDays可能是消极的.所以在你的情况下,几乎可以保证lastAction - 今天将是负数,因此总是小于30.

如果您只关心天数的绝对值,请使用Math.Abs其他方式重新排列,以便从今天减去lastAction (today - lastAction).请注意,由于四舍五入,如果差异小于1天,您的条件仍然不会被触发.