为什么将其设置为“1601起”?为什么不使用1970甚至2000的unix时间呢?
如此遥远的日期兼容,我该怎么办?

回答自己。

ANSI日期将1601年1月1日定义为第1天,并用作COBOL整数日期的来源。这个纪元是公历前the年400年周期的开始,到2000年结束。
如您在Wikipedia中的Julian_day条目下所见。

进一步:

  • Why is the Win32 epoch January 1, 1601
  • 最佳答案

    因为1/1/1601是时代的开始。
    从雷蒙德·陈那里拿来:

    奖金Chat不休
    RFC4122 UUIDs也测量100ns的滴答声,但它们从10/15/1582开始(与FILETIME的1/1/1601相反:

    Date                    Ticks               Uuid Epoch ticks
    ----------------------  ------------------  ------------------
    1582-10-15              -5748192000000000   0                    Start of uuid epoch
    1601-01-01              0                   0x00146BF33E42C000   Start of Windows epoch
    1899-12-30              0x014F35A9A90CC000  0x0163A19CE74F8000   Lotus 123/Excel/Access/COM zero date
    1900-01-01              0x014F373BFDE04000  0x0163A32F3C230000   SQL Server zero date
    1970-01-01              0x019DB1DED53E8000  0x01B21DD213814000   Unix epoch timestamp
    2000-01-01              0x01BF53EB256D4000  0x01D3BFDE63B00000
    2010-01-01              0x01CA8A755C6E0000  0x01DEF6689AB0C000
    2020-01-01              0x01D5C03669050000  0x01EA2C29A747C000
    
    //FILETIME eras
    1972-01-21 11:43:51 PM  0x01A0000000000000  0x01B46BF33E42C000   Start of 0x01A era
    1986-04-30 11:43:13 AM  0x01B0000000000000  0x01C46BF33E42C000   Start of 0x01B era
    2000-08-06 11:42:36 PM  0x01C0000000000000  0x01D46BF33E42C000   Start of 0x01C era
    2014-11-14 11:41:59 AM  0x01D0000000000000  0x01E46BF33E42C000   Start of 0x01D era
    2029-02-20 11:41:22 PM  0x01E0000000000000  0x01F46BF33E42C000   Start of 0x01E era
    2043-05-31 11:40:44 AM  0x01F0000000000000  0x02046BF33E42C000   Start of 0x01F era
    
    //UUID eras
    1968-02-11 11:43:13 AM  0x019B940CC1BD4000  0x01B0000000000000   Start of uuid 0x01B era
    1982-05-20 11:42:36 PM  0x01AB940CC1BD4000  0x01C0000000000000   Start of uuid 0x01C era
    1996-08-27 11:41:59 AM  0x01BB940CC1BD4000  0x01D0000000000000   Start of uuid 0x01D era
    2010-12-04 11:41:22 PM  0x01CB940CC1BD4000  0x01E0000000000000   Start of uuid 0x01E era
    2025-03-13 11:40:44 AM  0x01DB940CC1BD4000  0x01F0000000000000   Start of uuid 0x01F era
    

    关于date - 1601年1月1日的意义是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10849717/

    10-12 04:55