我的下面的代码有一个小问题,无论天数相隔多远,“ days”变量似乎总是为0。
您能看到明显不对的地方吗?
System.TimeSpan span = dates[0] - dates[1]; // e.g. 12/04/2010 11:44:08 and 18/05/2010 11:52:19
int days = (int)span.TotalDays;
if (days > 10) //days always seems to be 0
{
throw new Exception("Over 10 days");
}
谢谢
最佳答案
当您从较早的日期中减去较晚的日期时,根据您的评论,TotalDays将为负数。在您的示例中,为-36。
因此,(days > 10)
的比较将失败。你应该用
int days = Math.Abs((int)span.TotalDays);
假设您未将date [0]设置为等于date [1],则没有理由说TotalDays将为您的注释中的示例日期返回零。