【问题标题】:How can I calculate how many nights are there in a date range?如何计算一个日期范围内有多少晚?
【发布时间】:2009-11-06 14:36:33
【问题描述】:

我需要计算入住和退房日期的晚数(入住酒店)。

最好的方法是什么?

ie:如果我有

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

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

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

【问题讨论】:

  • 您是否也在考虑迟到?如果有人在午夜后入住怎么办?迟到但只住了一天的人仍然会在同一天早上离开,但从技术上讲仍然是“一晚”。
  • 他什么时候到的没关系,就是预订时的确认邮件

标签: c# date


【解决方案1】:

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

(Checkout.Date - Checkin.Date).Days

【讨论】:

  • 谢谢,我想我需要更多的咖啡 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多