2038年春节,世界会穿越回1901年?| 2038年问题和千年虫问题
Description
北京时间2038年1月19日中午11:14:07,一场由计算机程序中一个小小的bug引发的风波将会席卷全球,人们称为“2038年问题”。 起初,人们发现部分手机和电子时钟上的时间出现了异常,它们居然一致地穿越回了1901年的某一天。 与此同时,各大论坛的网友们也炸了锅,有人发现,一些网站出现了无法访问的问题,有些游戏、APP也开始崩溃闪退,部分航班系统出现故障,智能家用电器设备发生异常,股市金融交易也出现动荡。 这场风波究竟是如何引发的?世界真的穿越回到1901年了嘛? 本期视频将为您介绍由计算机时间戳溢出导致的“2038年问题”的起因和影响,并回顾历史上国内外由“千年虫”引发的一系列问题,最后简单地提出一些可能的解决方案。
Comments
此时医院来了一位病人:他身上穿着塑料凳、嘴里塞着灯泡、手机的时间是1901年12月13日、背包里背着一台缩放比例调成500%的电脑,此时他正准备用他的苹果手表去贴医院的玻璃。
♥ 754 ↩ 19
现在你在win中甚至还能找到应对2000年千年虫的补丁[蛆音娘_吃瓜群众]
♥ 686 ↩ 15
引发原因:代码能跑就别改了.jpg 我选择相信后人的智慧[蔚蓝档案静态_期待]
♥ 584 ↩ 6
k60至尊试过了,过零点时候手机cpu瞬间拉到很高频率一直不下,并且一直维持,手机功耗也在五六瓦以上,所有软件都是有网和有数据状态无法无法上网,有些软件运行起来卡卡的
♥ 278 ↩ 13
少女前线1关服后再登入显示再次开服时间就是2038年int从1970年最大表示的秒数那一刻,某种意义上是 “我们终将重逢,在时间的尽头” 对于计算机来讲,确实是时间的尽头,当然也可以是新int年的开始
♥ 227 ↩ 6
现在系统时间戳都是64位了,老程序用32位估摸到时候也淘汰了。我原来公司的程序有这个隐患,我给领导提过,他说还早呢。[滑稽]
♥ 184 ↩ 12
于是拿出收藏的诺基亚,N9只能到2037,但Lumia是+100年,看来NT内核用的时间机制和(类)Unix有所不同?
♥ 178 ↩ 10
想到了何夕的一篇短篇小说《祸害万年在 千年虫,万年毒》,似乎人类在解决这种类似千年虫的问题时也只是在原有的代码上缝缝补补,完全做不到根除... 世界是个巨大的草台班子.jpg
♥ 172 ↩ 14
一次无聊调到2037-12-31日(不能直接调到2038-1-1),之后几天都是正常走日期,然后就忘了,看到视频一看成这样了[笑哭]
♥ 149 ↩ 10
估计那时候电子设备都是256位的了[doge]
♥ 126 ↩ 19
回到1901年……没准我能考虑艺考,然后参加一战,最后发起二战[doge]
♥ 109 ↩ 3
现在已经有这个问题的解决方案了,就是迁移64位系统,将time_t定义成64位整形,我粗略算一下大概能延伸到 12个零的数量级 的年份以后,可以说完全够用了。而对于一些嵌入式设备,还有时间戳偏移法可以用,将时间戳零点向后偏移,与此同时在服务器端记录偏移次数,相当于一个溢出位。其实这问题想办法不难,主要是看实施难不难,因为要考虑全球软硬件设备能否兼容 顺带一提,红米手机可以直接拉到2100年年底,这个是它的最大显示范围,部分机子最大只能显示到2099年底,虽然不确定具体是什么原因导致了机型之间的差异,但是我猜应该是与出厂时间配置有关
♥ 109 ↩ 12
MIUI试了一下,最多只能看到2100年2月份了[doge]而且是卡bug弄出来的,真希望我能看到这一个世纪的到来
♥ 82 ↩ 6
相信后人的智慧[千恋万花动态表情包_是笨蛋吗] 还有除夕快乐[千恋万花动态表情包_谢谢]
♥ 80 ↩ 3
我的手机系统不让改到2038[doge]
♥ 77 ↩ 6
colourOS只能到2037年,而且在跨年的最后一刻,无法正常跳到2038,而是继续在2027.12.31号00.00开始计算,也没有跳到1970年
♥ 68 ↩ 4
也就是说要在2038年之前完全普及64位硬件及软件 淘汰32位软件和硬件,以解决问题 实际上近几年很多软件及数码区的评测up主也陆续强调32位的问题,32位固然省资源,但64位性能也更好 资源也更多[微笑](如有问题欢迎纠正)
♥ 60 ↩ 2
澎湃可以调到2100年(机型k80 pro)
♥ 44 ↩ 6
确实出问题了,root@onecloud:~# sudo timedatectl set-time "2038-01-19 11:14:00"翻译:在 onecloud 主机上以 root 用户身份运行命令 timedatectl set-time 来设置系统时间为 "2038 年 1 月 19 日 11:14:00"。接下来的消息是系统日志和广播消息:复制代码 Message from syslogd@onecloud at Jan 19 11:14:00 ... systemd【1】: Failed to run main loop: Invalid argument翻译:来自 syslogd 的消息表明在 onecloud 主机上,系统服务 systemd 在尝试运行主循环时失败,并给出了一个无效的参数错误。复制代码 Broadcast message from systemd-journald@onecloud (Tue 2038-01-19 11:14:00 CST): systemd【1】: Freezing execution.翻译:广播消息来自 systemd-journald 服务,表明由于某种原因(可能是时间溢出),系统正在冻结执行。这意味着系统可能已经无法正常运行其他任务了。总的来说,由于系统已经达到了预期的32位时间戳的溢出时间点,尝试更改系统时间可能会导致各种问题,包括系统不稳定和无法正常运行。在这种情况下,最好的解决方案通常是避免更改系统时间并寻求专业的技术支持来解决潜在的问题。
♥ 41 ↩ 6