• 请不要在回答技术问题时复制粘贴 AI 生成的内容
heavyrainn
V2EX  ›  程序员

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

  •  
  •   heavyrainn · Dec 31, 2020 · 2665 views
    This topic created in 1981 days ago, the information mentioned may be changed or developed.
    23374 代表 20201230,23192 代表 20200701 。据说叫什么太阳日还是什么的,请问哪位知道这种日期的转换规律呢,感谢大家
    6 replies    2021-01-01 10:12:02 +08:00
    lloovve
        1
    lloovve  
       Dec 31, 2020 via iPhone
    日期差是多少
    Dvel
        2
    Dvel  
       Dec 31, 2020
    试了一下

    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
        3
    opengps  
       Dec 31, 2020
    日期其实种子是:1957,1,1
    tonyaiken
        4
    tonyaiken  
       Jan 1, 2021 via iPhone
    我也用过这种格式,比较方便快速提取日期区间的数据。
    tonyaiken
        5
    tonyaiken  
       Jan 1, 2021 via iPhone
    不过一般是从 Unix Epoch 开始算,数据名叫 days since epoch
    passerbytiny
        6
    passerbytiny  
       Jan 1, 2021 via Android
    23374 与 23192 之间差了 182,20201230 与 20200701 之间也正好差了 182 天,这个大概是 Excel 日期。

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

    不知道你是随手举得例子还是原始数据,你这个日期的基准天数与 Excel 明显不一样( Liber office 中 23374 是 19631229 )。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5779 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 01:59 · PVG 09:59 · LAX 18:59 · JFK 21:59
    ♥ Do have faith in what you're doing.