检查时间范围跨越特定小时范围的次数

时间:2014-07-30 17:58:28

标签: c# .net time range

我们正在建立一个访客停车许可证制度,许可证具有开始和结束日期时间,并与居民相关联。

过夜被定义为完全跨越一小时范围而不仅仅是午夜标记。例如,如果停车许可证越过晚上10​​点到凌晨2点或凌晨2点到凌晨4点,那么它被视为过夜停车,这可以根据系统的配置进行定制。

我在设计和编写逻辑时遇到了一些麻烦,任何帮助都会受到赞赏。下图显示了我想要计算的内容。黑色水平线是停车许可证的长度,然后红线是小时范围。

第一个停车许可证使用4晚停车,第二个许可证使用6晚。

请注意,所有小时范围对于一周中的每一天都是相同的,我使用油漆,所以红线不一样。

enter image description here

1 个答案:

答案 0 :(得分:0)

所以你有居住,许可和隔夜桌。许可表将驻留作为FK以及开始和结束日期时间。过夜表有一个开始时间和结束时间,假设过夜'每周的每一天都以相同的方式定义。

然后确定许可是否跨越隔夜范围,你检查是否 permitBegin< = overnightEnd AND permitEnd> = overnightBegin。

这是你正在寻找的那种帮助吗?