欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-04-29 20:03:14
...
众所周知PHP中对时间类型数据可以直接转换为时间戳,那么在前端脚本js中,也有方法可以实现,就是valueOf()

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

复制代码 代码如下:



那么何为时间戳呢?

时间戳就是从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秒
所以,这个数字够大,计算机时间的“世界末日”就真的是世界末日了
代码改变世界,我的《源代码》,我的世界!