gpt4 book ai didi

javascript - 存储超过 4 位数年份的日期

转载 作者:太空狗 更新时间:2023-10-29 20:30:35 25 4
gpt4 key购买 nike

我需要一种方法来序列化和反序列化过去可能很远的日期,例如 -10000

我先看ISO8601,好像不支持四位数以上的年份。 (或者至少,我试过的 python 库没有。)

我能想到的不同解决方案:

  • 在序列化/反序列化之前更改年份,将其提供给解析/格式化库,然后将其修复(听起来很老套)
  • 定义我自己的格式,例如 year:month:day:hour:minute:second(这是重新发明轮子,因为我必须处理时区等)
  • 使用无边界的 UNIX 时间戳或类似的东西(可能会在某些编程语言中溢出,并且仍然是时区的东西)
  • 存储 -9999(或 0)之前的日期与之后的日期不同,因为当时没有时区问题/闰年/…问题。 (两种不同的格式在同一个地方)

您认为还有比这些更好的方法吗?或者推荐其中之一?

最佳答案

您可以向天文学家学习。天空图他们通过建立纪元来解释地球自转的长期进动。 (如果你现在看天空与公元前 10,000 年不同。)

创建一个新类,它具有“纪元”编号和当前日期类的外观模式。新类包含纪元和内部日期的两个私有(private)字段。您的构造函数将 epoch 设置为(year div 10000),并使用(year modulo 10000)实例化内部日期。我希望其余的立面模式和我想的一样明显。

关于javascript - 存储超过 4 位数年份的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839710/

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