两个日期之间的天数数错了

本文关键字:数数 错了 之间 日期 两个 | 更新日期: 2023-09-27 17:49:34

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

datetime1值为11:30 PMdatetime2值为日期时间值加5小时以上。

控制台输出必须为2。但结果是0.2xxxxxxxxxx。

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

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

两个日期之间的天数数错了

这没有错。TotalDays显示小数天,而5小时(24小时中的5小时)大致是.2天。

若要显示您正在处理的是两个不同的日子,请忽略时间部分:

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