关于c#:两个日期之间的天数是多少?

What is the number of days between two dates?

本问题已经有最佳答案,请猛点这里访问。

我们想找出两个日期之间的天数。当日期在同一年时,这很简单。

如果日期在不同的年份,是否有一种内置的方法可以做到这一点,或者我们只需要每年循环一次?


从另一个数据中减去一个日期会得到一个TimeSpan。您可以使用它来确定使用Days属性的完整天数,或使用TotalDays属性的完整天数和小数天数。

1
2
3
4
DateTime start = ...;
DateTime end = ...;

int wholeDays = (end - start).Days;

1
double totalAndPartialDays = (end - start).TotalDays;


你可能会做如下的事情:

1
2
TimeSpan ts = endDate - startDate;
ts.Days


你错过了什么?

1
DateTime - DateTime => Timespan

TimeSpan具有DaysTotalDays的性质。


1
2
3
4
    DateTime date1 = DateTime.Now;
    DateTime date2 = new DateTime(date1.Year - 2, date1.Month, date1.Day);

    Int32 difference = date1.Subtract(date2).Days;