【发布时间】:2015-08-25 14:37:04
【问题描述】:
我在寻找解决此问题的合乎逻辑的方法时遇到了问题。 我有一个日期范围列表,例如:
01/01/15 - 11/01/15
02/01/15 - 04/01/15
09/01/15 - 13/01/15
18/01/15 - 20/01/15
我需要做的是计算出所有这些日期范围内涵盖的总晚数。
所以对于这个例子来说,总数应该是 14 晚:
01/01/15 - 11/01/15 // 10 nights
02/01/15 - 04/01/15 // Ignored as nights are covered in 1-11
09/01/15 - 13/01/15 // 2 nights as 11th and 12th nights haven't been covered
18/01/15 - 20/01/15 // 2 nights
我可以使用 min-max 日期轻松计算出总晚数,但忽略了缺失的日期(示例中为 14-17),这是我无法计算的。
有什么方法可以找出失踪的总天数来帮助解决这个问题吗?
【问题讨论】:
-
最早日期和最晚日期之间的最大可能范围是多少?
-
您可以将日期转换为
DateTimestruct。然后做“laterDate”-“earlierDate”。然后你会得到数据。减去 1,你就有了夜晚(2 天之间有 1 晚......等等) -
例如这:var dates = new DateTime("11/01/15") - new DateTime("01/01/15")。 var nights = 日期 - 1
-
“所以不包括结束日期”是什么意思?您能告诉我们示例日期的预期结果是什么吗?
-
这些日期的输出是什么?