请问哪位知道这种日期是如何转换的?23374 代表 20201230

2020-12-31 22:27:45 +08:00
 heavyrainn
23374 代表 20201230,23192 代表 20200701 。据说叫什么太阳日还是什么的,请问哪位知道这种日期的转换规律呢,感谢大家
2219 次点击
所在节点    程序员
6 条回复
lloovve
2020-12-31 22:29:56 +08:00
日期差是多少
Dvel
2020-12-31 22:42:52 +08:00
试了一下

print(datetime.datetime(2020, 12, 30) - datetime.timedelta(days=23374))
print(datetime.datetime(2020, 7, 1) - datetime.timedelta(days=23192))

>>> 1957-01-01 00:00:00
>>> 1957-01-01 00:00:00

所以这个 5 位数代表了从 1957-01-01 以来的天数。。。
这是啥?加密日期吗?
opengps
2020-12-31 22:43:58 +08:00
日期其实种子是:1957,1,1
tonyaiken
2021-01-01 01:36:50 +08:00
我也用过这种格式,比较方便快速提取日期区间的数据。
tonyaiken
2021-01-01 01:38:29 +08:00
不过一般是从 Unix Epoch 开始算,数据名叫 days since epoch
passerbytiny
2021-01-01 10:12:02 +08:00
23374 与 23192 之间差了 182,20201230 与 20200701 之间也正好差了 182 天,这个大概是 Excel 日期。

Excel 的日期规则是,距离 1900 年 1 月 1 日的天数。比如,0 是 19000101,1 是 19000102 (具体规则需要找原始文档,我用 liber office 测试的 0 是 18991230,与上面的有出入)。

不知道你是随手举得例子还是原始数据,你这个日期的基准天数与 Excel 明显不一样( Liber office 中 23374 是 19631229 )。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/740775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX