C# 两个日期之间的天数是多少?

C# 两个日期之间的天数是多少?,c#,datetime,C#,Datetime,我们想找出两个日期之间的天数。当日期在同一年时,这很简单 如果日期在不同的年份,是否有一种内置的方法可以做到这一点,或者我们只需要每年循环一次?从另一个日期中减去一个日期就会得到一个。您可以使用它来确定使用天属性的整天数,或使用总天数属性的整天数和小数天数 DateTime start = ...; DateTime end = ...; int wholeDays = (end - start).Days; 或 从另一个日期中减去一个日期就得到一个。您可以使用它来确定使用天属性的整天数,或

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


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

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

DateTime start = ...;
DateTime end = ...;

int wholeDays = (end - start).Days;


从另一个日期中减去一个日期就得到一个。您可以使用它来确定使用
属性的整天数,或使用
总天数
属性的整天数和小数天数

DateTime start = ...;
DateTime end = ...;

int wholeDays = (end - start).Days;


您可能可以执行以下操作:

TimeSpan ts = endDate - startDate;
ts.Days

您可能可以执行以下操作:

TimeSpan ts = endDate - startDate;
ts.Days
你错过了什么

DateTime - DateTime => Timespan
Timespan
具有
Days
TotalDays
属性。

您缺少什么

DateTime - DateTime => Timespan
    DateTime date1 = DateTime.Now;
    DateTime date2 = new DateTime(date1.Year - 2, date1.Month, date1.Day);

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

Timespan
具有
Days
TotalDays
属性。

+1用于提及
TotalDays
@Adam Robinson,感谢您解释减法日期产生时间跨度。+1用于提及
TotalDays
@Adam Robinson,感谢您解释减法日期产生时间跨度。
    DateTime date1 = DateTime.Now;
    DateTime date2 = new DateTime(date1.Year - 2, date1.Month, date1.Day);

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