- 积分
- 52393
- 威望
- 258
- 魅力
- 268
- 经验
- 34479
- 热心度
- 37
- 注册时间
- 2006-7-9
- 最后登录
- 2024-8-28
- 主题
- 408
- 回帖
- 9896
- 精华
- 19
- 阅读权限
- 200
TA的每日心情 | 开心 2020-9-19 16:27 |
---|
签到天数: 7 天 连续签到: 1 天 [LV.3]火元素使者

管理员
风侠
  
- 积分
- 52393
  
|
刚进系统管理里看了看,大量帖子被系统删掉,原因不明,可能是论坛Bug,我会尝试修复。
另外请各位管理人员注意,所有主题,不要直接删除,
请用“移动主题”,移到回收站。
谢谢支持!
系统BUG情况,
主题帖被删除
网上搜到解释
论坛经营了这么长时间,今天同伴反应说,论坛回收站中有个帖子删除不了,开始我以为是系统缓存的问题,没太注意。谁知到下午自己去后台管理的时候,发些这个帖子就是删除不了,更新了缓存也无济于事。仔细看那个帖子,身份是游客,时间是1970-1-1,我就纳闷了,论坛用户组和各个版块我都设置了禁止游客发帖的啊,为什么会出现这个问题呢,而且时间是1970-1-1?首先我想到的是,可能是某个会员以会员身份登录,然后发的匿名贴,但是我检查了一下论坛,会员的匿名贴权限也被我禁止了。再说了,即使是发的匿名帖,我也能够在后台中看到是谁发的匿名帖啊,即使都成立,时间也不应该是1970啊,那个时候别说俺的网站,就是康盛公司也没有成立啊。一直纳闷着,问题出现了,总不能不管吧,于是搜索了很多资料,在数据块中删除了审核数据表中的东西才算搞定。但是为什么会产生这种情况,我想非要把他找到,找了好久才找到以下解释:
为什么出现的是1970-1-1而不是其他的日期
最初计算机操作系统是32位,而时间也是用32位表示。
System.out.println(Integer.MAX_VALUE);
2147483647
Integer在JAVA内用32位表 示,因此32位能表示的最大值是2147483647。 另外1年365天的总秒数是31536000,
2147483647/31536000 = 68.1
也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07
秒,便会到达最大时间,过了这个时间点,所 有32位操作系统时间便会变 为
10000000 00000000 00000000 00000000
也就是1901年12月13日20时45分52秒,这样便会出现时间回归的现象,很多软件便会运 行异常了。
到这里,我想问题的答案已经出来了:
因为用32位来表示时间的最大间隔是68年,而最早出现的UNIX操作系统考虑到计算
机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始
时间),而java自然也遵循了这一约束。 |
评分
-
1
查看全部评分
-
|