【发布时间】:2013-01-07 20:36:55
【问题描述】:
我有一个日期范围列表。
05/01/2012 - 07/01/2012
07/02/2012 - 09/05/2012
01/01/2012 - 03/31/2012
08/01/2012 - 12/31/2012
现在的问题是验证给定列表是否涵盖特定范围内的所有日期。例如,此列表涵盖 05/01/2012 - 12/31/2012 范围内的所有日期,但非 01/01/2012-12/31/2012,因为此列表未涵盖四月日期。假设是,
- 日期范围有效 - 开始日期
- 日期范围可能会重叠,如上述 2 日和 4 日的情况。
- 列表未以任何方式排序。
到目前为止,我所做的是测试异常值,例如,
找出最小的开始日期和最大的结束日期 - 如果您的测试日期范围的开始日期和/或结束日期分别小于/大于这些日期,则测试失败。
但是,在中间检查任何错过的日期的最佳策略是什么?提前致谢!
【问题讨论】:
-
闻起来像逻辑问题..
-
"正确 - 开始日期总是
-
你约会的基本对象是什么?
java.util.Date? -
另外,您只是在寻找日精度吗?有代码吗?
-
日期范围可以有多大?您可以创建一个位向量并开始在范围内打勾日期。完成后,您应该有一个连续的 1 块。我的猜测是对范围进行排序,然后比较 end 和 start 会非常有效。