凤凰台上凤凰游,凤去台空江自流。吴宫花草埋幽径,晋代衣冠成古丘。三山半落青天外,二水中分白鹭洲。总为浮云能蔽日,长安不见使人愁。

Javascript中 new Date().valueOf()的作用,以及时间戳的由来

众所周知PHP中对时间类型数据可以直接转换为时间戳,那么在前端脚本js中,也有方法可以实现,就是valueOf()

例如,我们可以通过这段代码输出当前时间点的时间戳

<script type="text/javascript">
  document.write(new Date().valueOf());
</script>

那么何为时间戳呢?

时间戳就是从1970年1月1日0时0分0秒(世界标准时)到当前时间点的所有秒数。这个时间也就是IT中所谓的“时间纪元”,由于中国在经度东8区,所以时间是1970.1.1 08:00:00 ,相信大家在很多文章中都见过它。比如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秒
所以,这个数字够大,计算机时间的“世界末日”就真的是世界末日了
 
转载请注明:http://www.tea119.com
posted @ 2013-04-24 13:49  天兵Q  阅读(10450)  评论(8编辑  收藏  举报