中英文泡椒 发表于 2023-8-21 10:57:52

2038年问题



不知道鱼油们有没有发现,手机时间日期设置最多可以设置到2038年,

这和“千年虫”问题较为相似,也被称为2038年问题。

这是因为Unix操作系统的计时方式是以1970年1月1日 00:00:00 为基准,

按秒为单位进行增减,到某年某月某日,只需要用基准值加上相应秒数来表示。

而安卓、苹果系统都属于类Unix系统,采用了同样的方案。电子系统使用二进制(0 和 1 )对数据进行储存,

而使用带符号的 32 位数来保存日期,从基准值算起最大存储值是2147483647秒,

而那时刚好是 2038 年 1 月 19 日的 03:14:07。之后,时间将被解释为 1970 年 1 月 1 日前的 2147483648秒 ,

即1901 年 12 月 13 日的 20:45:52。对此,人们已经开始尝试提供解决方法,如使用新的格式存储时间信息。

tommyyu 发表于 2023-8-21 11:00:58

之前洛谷好像就有这个 bug{:10_256:}

临时号 发表于 2023-8-21 12:13:50

到时候换成64位的时间戳,或使用无符号整形来存储时间戳就行了,对于我们来说就是一个更新而已

sfqxx 发表于 2023-8-21 14:24:29

int溢出{:10_256:}

yinda_peng 发表于 2023-8-21 20:41:31

get it

zhangjinxuan 发表于 2023-8-21 20:48:34

本帖最后由 zhangjinxuan 于 2023-8-21 20:51 编辑



15 年期间给所有人换一台电脑{:10_256:}

啊啊啊我 time_t 32 位的,呜呜呜,刚买的电脑,15年后又要买电脑了{:10_256:}

歌者文明清理员 发表于 2023-8-28 16:25:24

zhangjinxuan 发表于 2023-8-21 20:48
15 年期间给所有人换一台电脑

啊啊啊我 time_t 32 位的,呜呜呜,刚买的电脑,15年后 ...

页: [1]
查看完整版本: 2038年问题