我正在编写一个程序,用于存储数据库time
字段中商店的营业时间,并且想知道正确的时间范围是什么,如果我想在特定的一天表示该商店是开放的24小时。是0:00-23:59吗?或者是0:01-0:00?两种格式都有一分钟的差距,商店关闭。是0:00-0:00?
当一天开始时,是否存在与语言环境相关的差异?
答案 0 :(得分:1)
我见过商店在早上和晚上营业的用例,但在下午营业时没有。
无论商店是否有多班次,我都会有一个30分钟间隔的小时表(您也可以间隔1小时或15分钟间隔)存储并使用它来标记商店开放的任何时间或者关闭。
答案 1 :(得分:0)
根据您的数据库引擎,这可能会达到几秒钟,因此您的商店将在00:00:00到23:59:59之间打开。那么1秒重叠也不算太差。
在处理这个问题时,最重要的是要记住一些商店将在24小时内营业,但运营会在特定时间开始。例如,上午6点,第二天早上6点。
存储它的一种方法是将打开时间设置为某种类型的时间间隔,也许只是打开时间后的秒数。这样,你可以24小时拥有84600。
答案 2 :(得分:0)
条件本身并不真正适合您的存储概念,但由于您已经完成了许多无效值(结束< start,end == start),因此提名任何一个都没有错他们。因此,例如,使用0:00 - 0:00并在心理上决定结束>开始,因此这必须代表一整天。 0:00 - 23:59有合法的含义所以我会避免那个。
另一种选择是使用开始时间+长度而不是两次。我想我会选择这个首选。
我认为开始时无关紧要;如果您保持数据存储区和表示层独立,那么您可以在表示层中进行本地化(即打印时间时),并且数据存储区在开始日期时不关心(因此请使用UTC或存储时区)。
关于实施的注意事项:你没有办法让商店每天开两次(例如午餐时间)或更多。