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

时间:2009-11-06 14:36:34

标签: c# date

我需要从入住和结帐日算起夜晚的数量(住在酒店)。

最好的方法是什么?

即:如果我有

Checkin:  12/11/2009 15:00 hs  
Checkout:  14/11/2009 12:00 hs

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

我正在考虑添加一个简单的if来检查小时数(如果签入时间大于结帐时间)并添加缺失的夜晚,但也许有更好的“算法”

1 个答案:

答案 0 :(得分:20)

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

(Checkout.Date - Checkin.Date).Days