问个有趣的问题

2023-03-03 16:01:04 +08:00
 florentino

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

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

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

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

现在开发的话,没人用 int32 存时间了吧。
32 位的软件也能用 64 位数据类型的,32 位的 cpu 一样有办法算 64 位的数
florentino
2023-03-06 09:27:40 +08:00
@mmdsun 哦哦哦 原来是这样, 我还以为 32 位软件就不能用了呢

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

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

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

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

© 2021 V2EX