gpt4 book ai didi

database - 表示夏令时规则的最佳方式是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:47:56 25 4
gpt4 key购买 nike

我需要在数据库中存储世界不同地区的夏令时(夏令时)转换规则。我已经有了一种存储区域和子区域的方法(因此整个 "half of Australia"/Arizona/Navaho 问题都得到了处理),但我想知道实现此目的的最有效模式是什么。我看到的两个选项:

  • 有一个表格,其中包含每年和地区的唯一一行,给出夏令时的开始和结束时间以及特定的偏移量
  • 有一张表,其中存储每个地区的公式和有效日期范围(以色列等地区需要有效范围)

第一个的优点是灵 active ,因为字面上任何都是可能的。不幸的是,它还需要 (a) 更多空间,相应地 (b) 需要大量工作来获取数据输入。第二个很好,因为一行可以对应一个区域几十年,但它也需要在应用程序层中使用某种语言解析器和解释器。由于这个数据库将被几个不同的应用程序使用,这些应用程序是用没有强大文本处理能力的语言编写的,所以我宁愿避免走这条路。

我很想只使用 zoneinfo 或类似的东西,但不幸的是,在这种情况下这不是一个选项。同样,我无法规范化日期、时区和夏令时信息必须在数据库中以满足某些用例。

有没有人有做类似事情的经验?同样,有没有人有任何我可能错过的绝妙选择?

最佳答案

您几乎注定要选择第一个选项。对于有关于时间更改的“规则”的国家,您可以根据需要预先生成日期,但有些地区没有任何规则,并且这些更改是通过独裁法令或每年通过立法投票来制定的(巴西这样做直到今年)。

这就是为什么所有操作系统供应商每年推出一次或两次时区文件更改——他们必须这样做,因为他们无法以编程方式生成 100% 准确的文件。

关于database - 表示夏令时规则的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/154369/

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