是不是,到 2038 年 1 月 19 日 3 時 14 分 07 秒之后, 32 位的操作系统或者软件都将没法使用了呢?
因为我看维基百科上关于时间戳,是这么说的:
由于 Unix 和 C 语言采用 32 位有符号整型表示时间,这可容纳约 136 年的时间跨度,在 1970 年之前和之后各占一半。即到 2038 年 1 月 19 日和 1901 月 12 月 13 日用尽重置。
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 位时间戳,因此可以通过更新软件来解决这个问题。
|
2
shanghai1943 2023-03-03 18:03:21 +08:00
还有当年的千年虫。hala madrid
|
3
Ericcccccccc 2023-03-03 18:27:59 +08:00
用 int32 当时间字段的需要升级, 我估计等到 2036 年或者更早大公司就会开始推动了.
|
4
AoEiuV020CN 2023-03-03 18:34:14 +08:00 1
大方向是渠道来管,
比如 xx 年 xx 月 xx 日后一切使用 32 位时间字段的的应用无法上架,可能需要 ai 审核代码,现在好像就已经有些安全审核会反编译看违规行为了, 所有叫得上号的第三方库都不会使用 32 位时间,开源库都会被提 pr , 所有 ide 智能检测并报红色警告,看起来像报错但不改也能编译, 到时候你就算想用 32 位时间,也是个麻烦, |
5
mmdsun 2023-03-04 01:09:17 +08:00
家里有台旧电脑 32 位 Win10 ,BIOS 没电池了 开机后任务栏时间直接变成了 8455/10/30 日,日历打不开,很多软件打不开。最后进设置改过来就恢复了。
现在开发的话,没人用 int32 存时间了吧。 32 位的软件也能用 64 位数据类型的,32 位的 cpu 一样有办法算 64 位的数 |
6
florentino OP @mmdsun 哦哦哦 原来是这样, 我还以为 32 位软件就不能用了呢
|