2008/03/17 @ 10:12
什么是Y2038 bug
Time_t 是C/C++ 等编程语言在内部代表/存储日期和时间的一种数据类型。Time_t实际上是一个代表秒数的整数,当它的值为0时,代表的时间是1970年1月1日12: 00:00;当Time_t=60时,则表示1970年1月1日12:01:00,依此类推。 所有32位电脑系统都用带符号32位整型来存储time_t的值,也就是说t_time只能用31位二进制数来表示(第一位用来表示正负号),而其最大值转换为十进制是2147483647,换算成日期和时间刚好是2038年1月19日03:14:07am(GMT),而这一秒过后,t_time的值将变成-2147483647,代表的是 1901年12月13日8:45:52pm,这样32位软硬件系统的日期时间显示就都乱套了。另外,无法接受time_t为负值的其他功能也将返回错误。举个实际的例子来说,登陆上Yahoo messenger,给好友发个消息,恩没问题,现在把系统时间更改为2038年1月19日03:14:07am,此时如果再发消息Yahoo messenger就将崩溃。
作者:博爱老头@博爱老头的草屋
地址:http://www.icnote.com/Y2038-bug/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
相关日志
Tomcat:十年磨一剑 这只雄猫已经成熟了!
功夫不负有心人 域名转 Domainsite 成功 总结下做法
草屋快照:百度孙云丰谈“关于谷歌退出中国”
Google 真的会离开我们 退出中国吗?
也说说今天百度的域名被劫持事件 掀起网络对战
Tomcat:十年磨一剑 这只雄猫已经成熟了!
功夫不负有心人 域名转 Domainsite 成功 总结下做法
草屋快照:百度孙云丰谈“关于谷歌退出中国”
Google 真的会离开我们 退出中国吗?
也说说今天百度的域名被劫持事件 掀起网络对战
最新《星际争霸2》对战视频
大唐中兴普天已获得首批TD HSDPA设备入网证

