zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Golang网络编程-套接字(socket)篇
    Golang并发编程-传统的同步工具"锁"实战篇
    Golang并发编程-select实战篇
    Golang并发编程-channel实战篇
    Golang并发编程-Go程(Goroutine)实战篇
    Jenkins实现简单流程部署代码
    Jenkins权限管理
    Jenkins插件管理篇
    Jenkins部署实战案例
    Golang常见的字符串函数操作实战篇
  • 原文地址:https://www.cnblogs.com/wshiqtb/p/3040116.html
Copyright © 2011-2022 走看看