我有很多公司,每个公司都有开业日期和截止日期,例如:
Company Open Close
A 08.00 22.00 (close in the **same** day)
B 10.00 02.00 (close in the **second** day)
C 14.00 03.00 (close in the **second** day)
在网页上,用户必须看到公司列表并根据当前时间(服务器时间)显示每个公司的状态(打开 或关闭) )
问题:
当公司在同一天开放和关闭时(A)很容易获得状态
在以下算法中:isOpen = (NOW > OpenTime AND NOW < ClosingTime)
,但是如果公司在第 1 天营业并且在第 2 天关闭( B , C )如果用户在 1.00 检查页面,公司 B 将显示关闭(因为 (1.00 > 10.00 AND 1.00 < 02.00)
是 False ) 但它是实时打开的。
如何解决这个问题(当关闭时间日与开放时间日不同时)
最佳答案
我能想到的最简单的解决方案是检查列出的关闭时间是否小于打开时间并加上 24 小时,然后检查该值
isOpen = (NOW > OpenTime AND NOW < (ClosingTime < OpeningTime ? ClosingTime + 24.00 : ClosingTime)
关于c# - 在 C# 中处理日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9317208/