GMT(格林尼治标准时间)-格林尼治时间.UTC(世界时代码)——国际协调时间pst(太平洋标准时间,太平洋标准时间)。
UTC出现的比格林尼治时间时间晚,可以认为UTC时间更加精确,不过它们之间只相差几秒钟。
UTC开始时间为:1970 - 01 - 01 t00:00:00.000z(这种时间设置可以一直精确到毫秒,字母T和Z仅仅是一种格式)
UNIX时间戳指的是从1970 - 01 - 01 t00:00:00.000z到现在的毫秒数。(1 s=1000毫秒)
<>强机器时间强> - UNIX时间戳。(mTime)
<强>人类时间强>——人类可读的各种时间。(hTime)
<强>标准字符串时间强> - 1970 - 01 - 01 - t00:00:00.000z (stdStrTime)
<强>格林尼治时间时间强>——星期二,2017年8月15日格林尼治时间13:58:23 (gmtTime)
我们日常生活中要表示时间,方法非常之多,打在屏幕上就是各种字符串,另外我们还要考虑到外国人表示时间的方法,比如下面这些都可以表示某个时间:
2017年8月15日20:51:22
2017.08.15
2017-08-15
我
6/13/2004
- 0700格林尼治时间2004年5月25日星期二就是
1970 - 01 - 01 t00:00:00.000z
那么问题来了,上面这些时间表示方法格式完全不统一,如果我设计个程序要求某些东西在指定时间运行,我们该怎么表示这个时间呢?在计算机编程中我们一般用一种最标准的时间表示方式:UNIX时间戳。这种时间表示方法精确到毫秒,表示方法唯一,非常适合编程处理。
新的日期()
参数可以是机器时间,参数为空时表示把当前机器时间传入。返回值是标准字符串时间。
//参数为空时 var stdStrTime=new日期(); console.log (stdStrTime);//输出:2017 - 08 - 15 - t14:22:08.385z var gmtTime=stdStrTime.toUTCString (); console.log (gmtTime);//输出:星期二,2017年8月15日14:22:08格林尼治时间//参数不为空时 var stdStrTime=new日期(1502769188084); console.log (stdStrTime);//输出:2017 - 08 - 15 - t03:53:08.084z var gmtTime=stdStrTime.toUTCString (); console.log (gmtTime);//输出:星期二,2017年8月15日格林尼治时间03:53:08
转成格林尼治时间时间也可以用函数toGMTString(),该方法现在已经不推荐使用。
Date.parse ()
参数为标准字符串时间,返回值是对应的机器时间。
var stdStrTime=" 2017 - 08 - 15 - t03:53:08.084z”; var mTime=Date.parse (stdStrTime); console.log (mTime);//输出:1502769188084
在JS中操作时间,和在其它语言中操作时间原理上相似,核心就是解决2个问题:
把机器时间转成人类时间
把人类时间转成机器时间
<>强得到当前机器时间强>
console.log (Date.now ());//输出:1502802483928
<>强得到当前人类时间强>
var stdStrTime=new日期(); console.log(现在);
上面的代码在铬环境中输出雷氏与这样:2017年8月15日星期二21:09:46格林尼治标准时间+ 0800(中国标准时间)。在node . js环境中输出类似与这样:2017 - 08 - 15 t13:06:34.806z
<强>给出标准字符串时间转成机器时间强>
var stdStrTime=?004 - 05 - 25 t00:00:00.000z”; var mTime=Date.parse (humanTime); console.log (machineTime);//输出:1085443200000
<强>给出机器时间转成标准字符串时间强>
var mTime=1085443200000; var stdStrTime=new日期(mTime); console.log (stdStrTime);//输出:2004 - 05 - 25 t00:00:00.000z
<强>参考书籍强>
JavaScript高级程序设计第三版
以上这篇JS操作时间,UNIX时间戳的简单介绍(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。