V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
florentino
V2EX  ›  问与答

问个有趣的问题

  •  
  •   florentino · 2023-03-03 16:01:04 +08:00 · 1316 次点击
    这是一个创建于 660 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    现在开发的话,没人用 int32 存时间了吧。
    32 位的软件也能用 64 位数据类型的,32 位的 cpu 一样有办法算 64 位的数
    florentino
        6
    florentino  
    OP
       2023-03-06 09:27:40 +08:00
    @mmdsun 哦哦哦 原来是这样, 我还以为 32 位软件就不能用了呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:50 · PVG 00:50 · LAX 08:50 · JFK 11:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.