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


当前回答

DateTime xmas = new DateTime(2009, 12, 25);
double daysUntilChristmas = xmas.Subtract(DateTime.Today).TotalDays;

其他回答

假设StartDate和EndDate是DateTime类型:

(EndDate - StartDate).TotalDays

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

 (a.Date - b.Date).TotalDays

得到两个日期之间的差值,然后从下面得到日期:

int total_days = (EndDate - StartDate).TotalDays

对于像我这样的初学者来说,在简单的一行代码中就会遇到这个小问题:

int totalDays = Convert.ToInt32((DateTime.UtcNow.Date - myDateTime.Date).TotalDays);

这将计算从今天(DateTime.UtcNow.Date)到所需日期(myDateTime.Date)的总天数。

如果myDateTime是昨天,或比今天更早的日期,这将给出一个正(+)整数结果。

另一方面,如果myDateTime是明天或未来的日期,由于加法规则,这将给出一个负(-)整数结果。

编码快乐!^ _ ^

你可以使用下面的代码:

 int DateDifInSecond = EndDate.Subtract(StartDate).TotalSeconds