时间戳就是从1970年1月1日0时0分0秒到当前时间点的所有秒数。1970.1.1 0:0:0 这个时间就是IT中所谓的“时间纪元”,相信大家在很多文章中都见过它。比如oracle的时间显示,unix和linux系统的时间运算等,那为什么选择1970,而不选择1900呢。接下来让我们阐述它的由来。
1.当32位计算机刚刚开始兴起的时候,
所谓的整数型Intger型数据能表示的最大数值为:
System.out.println(Integer.MAX_VALUE);
2147483647
2.一年365的总秒数为31536000,
3.两者相除,2147483647/31536000=68.1,
4.也就是说32位的大背景下,能表示的最长时间间隔为68年
5.如果从1970算起,可以表示到2038年 01 月 19 日 03 时 14 分 07秒,便会到达最大时间,
6.过了这个时间点,所有32 位操作系统时间便会变为 10000000 00000000 00000000 00000000
也就是1901年12月13日20时45分52秒,这样便出现了时间回归的现象,一些软件可能为此发生重大异常。
总结以上要点,想出这套东西的人,最早其实还是那些玩儿UNIX的人,他们考虑到68年其实不长,所以就从1970开始算这68年,他们的希望是,在这68年里,后来的人能尽快搞出一套更良好的机制,改变这个限制。。。果然,64位的兴起,把这个“时间末日”从
2038年01月19日03时14分07秒 --》292,277,026,596年12月4日15时30分08秒
所以,这个数字够大,计算机时间的“世界末日”就真的是世界末日了
代码改变世界,我的《源代码》,我的世界!
您可能感兴趣的文章: