两个日期之间的天数错误
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);
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);