2038年问题 如果把手机设置到2038年会发生什么?电脑呢?(32位的)

2025-01-20 13:18:00
推荐回答(5个)
回答1:

  在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。32位操作系统的最后时间是2038年1月19日03:14:07,星期二。而这一秒过后,Time_t的值将变成-2147483647,代表的是1901年12月13日8:45:52pm,这样32位软硬件系统的日期时间显示就都乱套。

2038问题:

  Time_t是C/C++等编程语言在内部代表/存储日期和时间的一种数据类型。Time_t实际上是一个代表秒数的整数。当初设计的时候,这个4字节的时间格式把1970年1月1日凌晨0时0分0秒作为时间起点,这时的时间值为0。以后所有的时间都是从这个时间开始一秒一秒累积得来的。
  比方说如果时间已经累积到了919642718这个数值,就是说这时距离1970年1月1日凌晨0时0分0已经过去了919642718秒,换算一下就应该是1999年2月21日星期天16时18分38秒。
  这样计算时间的好处在于,把任意两个时间值相减之后,就可以很迅速地得到这两个时间之间相差的秒数,然后你可以利用别的程序把它换算成明白易懂的年月日时分秒的形式。
  要是曾经读过一点儿关于计算机方面的书,就会知道一个4字节也就是32位的存储空间的最大值是2147483647。请注意!2038年问题的关键也就在这里——当时间一秒一秒地跳完2147483647那惊心动魄的最后一秒后,会发生什么?
  答案是,它就会转为负数也就是说时间无效。那一刻的准确的时间为2038年1月19日03:14:07am(GMT)星期二,之后所有用到这种“标准时间库”的C/C++语言程序都会碰到时间计算上的麻烦。超过此一瞬间,时间将会被掩盖(wrap around)并且在内部被表示为一个负数,并造成程序无法工作,因为它们无法将此时间识别为2038年,而可能会依个别实例而跳回1970年或1901年,错误的计算及动作可能因此产生。比如手机网络工作不正常,卫星脱离轨道,型号较老的电脑软件软硬件无法正常工作等。
  这就是2038年问题。

回答2:

系统会瘫痪。
我设置过,不过不是2038,是2050,结果系统瘫痪了。
我找不到原因所在,就重装系统。
重装了刚一启动,又瘫痪了。
后来我第二次、第三次装系统。
第五次的时候,我偶然进bios发现时间不对劲儿。
赶紧改了过来。
事情解决了……电脑顺利启动了。

回答3:

千年虫问题?linux 系统,c语言程序会运行出错

回答4:

若为honor4A及以下机型,一到2037年12月31日23:59:59系统自动崩溃(HUAWEI EMUI 3.1.1及以下版本),时间会自动调回1970年1月1日00:00:00!如果是荣耀畅玩7X及以上机型,一到2038年2月28日00:00:25不会出现这个问题!

回答5:

64位的电脑和手机不会有问题的。