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

原文 http://www.cnblogs.com/wshiqtb/archive/2013/04/24/3040116.html

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

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

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

那么何为时间戳呢?

时间戳就是从1970年1月1日8时0分0秒到当前时间点的所有秒数。1970.1.1 08:00:00 这个时间就是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秒

所以,这个数字够大,计算机时间的“世界末日”就真的是世界末日了

代码改变世界,我的《源代码》,我的世界!

时间: 2024-11-17 16:19:48

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

Javascript new Date().valueOf()的作用与时间戳由来详解_基础知识

众所周知PHP中对时间类型数据可以直接转换为时间戳,那么在前端脚本js中,也有方法可以实现,就是valueOf() 例如,我们可以通过这段代码输出当前时间点的时间戳 复制代码 代码如下: <script type="text/javascript">  document.write(new Date().valueOf());</script> 那么何为时间戳呢? 时间戳就是从1970年1月1日0时0分0秒到当前时间点的所有秒数.1970.1.1 0:0:0 这

JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决_javascript技巧

var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常: 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date". 想着估计是字符串格式的问题,改成'2016/11/11 11:11:11'再测试,结果正常,以为这样应该没问题了,

javascript中对Date类型的常用操作小结_基础知识

javascript中对Date类型的常用操作小结 /** 3. * 日期时间脚本库方法列表: 4. * (1)Date.isValiDate:日期合法性验证 5. * (2)Date.isValiTime:时间合法性验证 6. * (3)Date.isValiDateTime:日期和时间合法性验证 7. * (4)Date.prototype.isLeapYear:判断是否闰年 8. * (5)Date.prototype.format:日期格式化 9. * (6)Date.stringToD

JavaScript中闭包的写法和作用详解_javascript技巧

1.什么是闭包 闭包是有权访问另一个函数作用域的变量的函数. 简单的说,Javascript允许使用内部函数---即函数定义和函数表达式位于另一个函数的函数体内.而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量.参数和声明的其他内部函数.当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包. 2.变量的作用域 要理解闭包,首先要理解变量的作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变

JavaScript中的await/async的作用和用法_javascript技巧

await/async 是 ES7 最重要特性之一,它是目前为止 JS 最佳的异步解决方案了.虽然没有在 ES2016 中录入,但很快就到来,目前已经在 ES-Next Stage 4 阶段. 直接上例子,比如我们需要按顺序获取:产品数据=>用户数据=>评论数据 老朋友 Ajax 传统的写法,无需解释 // 获取产品数据 ajax('products.json', (products) => { console.log('AJAX/products >>>', JSON

JavaScript中两个感叹号的作用说明_javascript技巧

先用一个简单的例子说明: 复制代码 代码如下: var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test); 由于对null与undefined用!操作符时都会产生true的结果,所以用两个感叹号的作用就在于,如果明确设置了o中flag的值(非null/undefined/0""/等值),自然test就会取跟o.flag一样的值:如果没有设置,test就会默认为false,而不是null或u

php与javascript中的时间戳有什么区别

php中的时间戳与javascript中的时间戳的比较,本质上看,它们是一样的东西,但如果二者要进行 相等比较的时候,还是有点不同的,稍不注意,就会误入歧途,所以,这里列出容易忽略的两点不同, 供大家参考: 1)单位问题:php中取时间戳时,大多通过time()方法来获得,它获取到数值是以秒作为单位的, 而javascript中从Date对象的getTime()方法中获得的数值是以毫秒为单位 ,所以,要比较它们获得的 时间是否是同一天,必须要注意把它们的单位转换成一样,1秒=1000毫秒,剩余的

javascript中的一些核心知识点以及需要注意的地方

原文:javascript中的一些核心知识点以及需要注意的地方 前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不大 又拿最近做webapp view 转场动画研究,就是几个demo不断测试,感觉没有什么可说的 最后甚至对webapp中的History的处理方案也是有一些心得,一点方案,但是依旧难以整理成文,于是便开始文荒了 这个时候不妨便温故知新

浅谈javascript中关于日期和时间的基础知识_基础知识

前面的话 在介绍Date对象之前,首先要先了解关于日期和时间的一些知识.比如,闰年.UTC等等.深入了解这些,有助于更好地理解javascript中的Date对象.本文将介绍javascript关于日期和时间的基础知识 标准时间一般而言的标准时间是指GMT和UTC,以前是GMT,现在是UTC GMT 格林尼治标准时间(GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空