我发现这个问题已经在Java、JavaScript和PHP中得到了解答,但c#中没有。那么,如何在c#中计算两个日期之间的天数呢?


当前回答

你可以试试这个

EndDate.Date.Subtract(DateTime.Now.Date).Days

其他回答

假设StartDate和EndDate是DateTime类型:

(EndDate - StartDate).TotalDays

使用TimeSpan对象,它是date减法的结果:

DateTime d1;
DateTime d2;
return (d1 - d2).TotalDays;

你可以使用下面的代码:

 int DateDifInSecond = EndDate.Subtract(StartDate).TotalSeconds

我认为这会达到你的目的:

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.Now.AddDays(-1);

TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;

如果有人想要作为双精度的天数(a, b类型的DateTime):

 (a.Date - b.Date).TotalDays