两个日期之间的天数错误

Wrong day count between two date

var datetime1 = DateTime.Now;
var datetime2 = DateTime.Now.AddHours(5);
Console.WriteLine((datetime2-datetime1).TotalDays);

datetime1 值为 11:30 下午 datetime2 值是日期时间值加上 5 小时。

控制台输出一定是2。但是结果是0.2xxxxxxxxxx。

我认为上面的代码是根据两个日期的小时来计算天数的。不是基于两个日期中的哪一天。

我应该怎么做才能使输出为 2?

没有错。 TotalDays 显示小数天数,5 小时(共 24 小时)大约是 .2 天。

要显示您处理的是两天的跨度,请忽略时间部分:

Console.WriteLine((datetime2.Date - datetime1.Date).Days + 1);