gpt4 book ai didi

database - 存储和搜索商店的开/关时间

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:05 25 4
gpt4 key购买 nike

我正在编写一个为我们商店的数据编制索引的应用程序,其中一些商店营业到很晚(早上 8 点到凌晨 2 点)。我们需要能够快速搜索该数据库 - 基本上,运行查询以查找在给定时间点(现在,周日凌晨 1 点,随便什么)有哪些商店在营业。

此外,开门/关门时间可能每天都不同——例如,一些商店在周日关门。

对我来说,最明显的解决方案是创建一个表格,其中一行包含商店 ID、日期、营业时间和打烊时间。对于像星期一上午 8 点 - 凌晨 2 点这样的时间,这实际上是两行,一排用于星期一 0800 - 2400,另一排用于星期二 0000 - 0200。

我们有很多商店,所以搜索必须表现良好(基本上,数据必须是索引友好的),但我还必须以人类可读的格式显示这些数据。使用我当前的解决方案,它看起来像这样:

周一:8:00 - 午夜星期二:午夜 - 凌晨 2:00;上午 8:00 - 午夜

我只是想知道在我直接开始实现之前是否还有其他人有其他解决方案。谢谢!

最佳答案

当 PBS(美国公共(public)广播系统)几年前遇到同样的问题时,他们发明了“30 小时制”的想法——其中 00:00 是一天开始的午夜,即 24: 00 是一天结束的午夜,25:00 是第二天凌晨 1 点,30:00 是第二天早上 6 点。这样一来,周一 26:00 的关门时间就是周二凌晨 2 点。

与其用两条记录表示一天中一家商店的时间,不如将“商店日”视为对象更面向对象。这样 1 条记录 = 1 家商店一天的时间。如果您想存储两组打开/关闭时间,只需在记录中使用四个字段而不是两个——并适当调整您的查询。

请记住,您的查询应该使用您编写和发布的库/API。然后库将处理数据存储及其数据布局。除了您的图书馆,没有人应该直接查看数据库。

时区在此类应用中也非常重要。 (希望)在某个时候,链式店将扩展到覆盖多个时区。然后您需要确定查询的本地时间。 -- 可能与处理查询的服务器的时区不同。

进一步的想法--

我现在看到您正在标准化为 GMT。好的。您还可以使用日期时间值(相对于时间值)并标准化为给定的一周时间。例如,开放时间为 Sun Jan 1, 1995 10am - Mon Jan 2, 1995 2am(使用 1995 年 1 月 1 日作为基准,因为它是星期日)。

然后合理化您的“当前时间和日期”以匹配 1995 年 1 月 1 日这一周的同一点。然后查询以查找开店日。

HTH,

拉里

关于database - 存储和搜索商店的开/关时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2174523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com