减去两个日期

本文关键字:两个 日期 | 更新日期: 2023-09-27 18:36:05

我有两个日历,每个日历都从日历返回一个日期时间。选择日期。

如何从彼此中减去两个选定的日期,从而得到两个选择之间的天数?

有一个日历。减去(),但它需要一个时间跨度而不是日期时间。

减去两个日期

您可以使用someDateTime.Subtract(otherDateTime),这将返回一个具有TotalDays属性的TimeSpan

只需使用:

TimeSpan difference = end - start;
double days = difference.TotalDays;

请注意,如果要将它们视为日期,则可能应该使用

TimeSpan difference = end.Date - start.Date;
int days = (int) difference.TotalDays;

这样,您就不会根据时间获得不同的结果。

(如果需要,您可以使用 Subtract 方法代替 - 运算符,但我个人认为使用运算符更清晰。

想一想。
你如何表达两个日期之间的差异?换个约会?
这就是为什么你需要时间跨度

DateTime dtToday = new System.DateTime(2012, 6, 2, 0, 0, 0);
DateTime dtMonthBefore = new System.DateTime(2012, 5, 2, 0, 0, 0);
TimeSpan diffResult = dtToday.Subtract(dtMonthBefore);
Console.WriteLine(diffResult.TotalDays);