我正在尝试计算不同日期之间有多少天。正如主题所说,我得到了一个负值。我想我可以只取绝对值,但它返回负值这一事实让我怀疑计算是否正确。下面是我的代码:
DateTime previousDay = new DateTime(1998, 6, 31, new GregorianCalender());
DateTime nextDay = new DateTime(1998, 6, 3, new GregorianCalender());
TimeSpan differenceInDays = (nextDay - previousDay);
double xAxisValue = differenceInDays.TotalDays;
当然 3-31 给出 -28,但由于我们希望它显示之间的天数,因此它不返回正值是没有意义的。我做错了什么吗?
我也试过这种方法:
(a - b).TotalDays
其中 a 和 b 是 Datime 类型
最佳答案
I guess I could just take the absolute value, but the fact that it returns a negative value, makes me doubt if the calculations are correct.
为什么? nextDay
早于 previousDay
,因此减去 previousDay
当然会得到负结果。
您实际上是在问“我需要在 previousDay
中添加多少天才能到达 nextDay
?答案是 -28。
我关心的是这里的名称 - 我希望 nextDay
值总是晚于 previousDay
值 - 所以您查找这些值的方式不正确,或者您需要更改名称以使含义更清楚。据推测,就同一上下文而言,它们不是“下一个”和“上一个”。
关于c# - 计算两个日期之间的差异返回负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19028481/