如何计算日期范围内有多少个夜晚?

jua*_*uan 5 c# date

我需要从入住和结账日期算出夜晚的数量(入住酒店).

最好的方法是什么?

即:如果我有

Checkin:  12/11/2009 15:00 hs  
Checkout:  14/11/2009 12:00 hs
Run Code Online (Sandbox Code Playgroud)

(Checkout - Checkin).Days会给我一晚而不是2晚

我想添加一个简单if的检查小时(如果签入时间大于结账时间)并添加缺少的夜晚,但也许有一个更好的"算法"

Eli*_*sha 20

DateTime有一个属性,它返回Date部分,它是午夜的DateTime.您可以使用此部分来获取夜晚,因为一天中的所有部分都将映射到当天的同一时间:

(Checkout.Date - Checkin.Date).Days
Run Code Online (Sandbox Code Playgroud)