c# - 计算两个日期之间的差异返回负数

标签 c# datetime

我正在尝试计算不同日期之间有多少天。正如主题所说,我得到了一个负值。我想我可以只取绝对值,但它返回负值这一事实让我怀疑计算是否正确。下面是我的代码:

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/

相关文章:

MYSQL 将日期和时间字段合并为日期时间值

c# - 在 C# 中处理 UTC 时间?

javascript - 反序列化 JSON 日期无时区

c# - Unity table 游AI导致内存泄露

c# - WPF 窗口上的细边框?

c# - 显式接口(interface)实现不能是虚拟的

c# - ConnectionString 中的可变密码

c# - TransactionScope 包装 ORM 调用,第二次调用时出现 TransactionStateAborted.CreateAbortingClone 异常

python - 如何补偿假期 - pandas

来自 Mysql DateTime 字符串的 C++ unix 时间