V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
florentino
V2EX  ›  问与答

问个有趣的问题

  •  
  •   florentino · Mar 3, 2023 · 1789 views
    This topic created in 1152 days ago, the information mentioned may be changed or developed.

    是不是,到 2038 年 1 月 19 日 3 時 14 分 07 秒之后, 32 位的操作系统或者软件都将没法使用了呢?

    因为我看维基百科上关于时间戳,是这么说的:

    由于 Unix 和 C 语言采用 32 位有符号整型表示时间,这可容纳约 136 年的时间跨度,在 1970 年之前和之后各占一半。即到 2038 年 1 月 19 日和 1901 月 12 月 13 日用尽重置。

    6 replies    2023-03-06 09:27:40 +08:00
    yoqu
        1
    yoqu  
       Mar 3, 2023   ❤️ 1
    是的,这是一个被称为“2038 问题”的计算机学术话题,也叫作 Unix 时间戳问题。目前,大多数计算机系统和编程语言使用 32 位有符号整数表示从 1970 年 1 月 1 日 00:00:00 开始的秒数,它们将在 2038 年 1 月 19 日 3:14:07 时溢出,这意味着它们无法正常处理时间戳。不过,现在已经有不少操作系统和编程语言开始支持 64 位时间戳,因此可以通过更新软件来解决这个问题。
    shanghai1943
        2
    shanghai1943  
       Mar 3, 2023
    还有当年的千年虫。hala madrid
    Ericcccccccc
        3
    Ericcccccccc  
       Mar 3, 2023
    用 int32 当时间字段的需要升级, 我估计等到 2036 年或者更早大公司就会开始推动了.
    AoEiuV020CN
        4
    AoEiuV020CN  
       Mar 3, 2023   ❤️ 1
    大方向是渠道来管,
    比如 xx 年 xx 月 xx 日后一切使用 32 位时间字段的的应用无法上架,可能需要 ai 审核代码,现在好像就已经有些安全审核会反编译看违规行为了,
    所有叫得上号的第三方库都不会使用 32 位时间,开源库都会被提 pr ,
    所有 ide 智能检测并报红色警告,看起来像报错但不改也能编译,
    到时候你就算想用 32 位时间,也是个麻烦,
    mmdsun
        5
    mmdsun  
       Mar 4, 2023
    家里有台旧电脑 32 位 Win10 ,BIOS 没电池了 开机后任务栏时间直接变成了 8455/10/30 日,日历打不开,很多软件打不开。最后进设置改过来就恢复了。

    现在开发的话,没人用 int32 存时间了吧。
    32 位的软件也能用 64 位数据类型的,32 位的 cpu 一样有办法算 64 位的数
    florentino
        6
    florentino  
    OP
       Mar 6, 2023
    @mmdsun 哦哦哦 原来是这样, 我还以为 32 位软件就不能用了呢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1059 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    ♥ Do have faith in what you're doing.