18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

迅速建立微信小程序_JS操作时间

2021-01-11分享 "> 对不起,没有下一图集了!">
JS操作时间 - UNIX时间戳的简单介绍(必看篇)     投稿:jingxian   下面小编就为大家带来一篇JS操作时间 - UNIX时间戳的简单介绍(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

准备知识

GMT(Greenwich Mean Time) - 格林尼治时间。UTC(Universal Time Code) - 国际协调时间。凡科抠图T(Pacific Standard Time,太平洋标准时间)。

UTC出现的比GMT时间晚,可以认为UTC时间更加精确,不过它们之间只相差几秒钟。

UTC开始时间为:T.000Z(这种时间设置可以一直精确到毫秒,字母T和Z仅仅是一种格式)

UNIX时间戳指的是从T.000Z到现在的毫秒数。(1s=1000ms)

本文需要用到的时间规定如下:

机器时间 - UNIX时间戳。(mTime)

人类时间 - 人类可读的各种时间。(hTime)

标准字符串时间 - T.000Z(stdStrTime)

GMT时间 - Tue, 15 Aug 2017 GMT(gmtTime)

需求描述

我们日常生活中要表示时间,方法非常之多,打在屏幕上就是各种字符串,另外我们还要考虑到外国人表示时间的方法。比如下面这些都可以表示某个时间:

2017年8月15日

2017.08.15

AM

6/13/2004

January 12, 2004

Tue May 25 2004 GMT-0700

T.000Z

那么问题来了,上面这些时间表示方法格式完全不统一,如果我设计个程序要求某些东西在指定时间运行,我们该怎么表示这个时间呢?在计算机编程中我们一般用一种最标准的时间表示方式:UNIX时间戳。这种时间表示方法精确到毫秒,表示方法唯一,非常适合编程处理。

核心函数

new Date()

参数可以是机器时间,参数为空时表示把当前机器时间传入。返回值是标准字符串时间。

// 参数为空时
var stdStrTime = new Date();
console.log(stdStrTime);
// output: T.385Z
var gmtTime = stdStrTime.toUTCString();
console.log(gmtTime);
// output: Tue, 15 Aug 2017  GMT
// 参数不为空时
var stdStrTime = new Date(84);
console.log(stdStrTime);
// output: T.084Z
var gmtTime = stdStrTime.toUTCString();
console.log(gmtTime);
// output: Tue, 15 Aug 2017  GMT

转成GMT时间也可以用函数toGMTString(),该方法现在已经不推荐使用。

Date.parse()

参数为标准字符串时间,返回值是对应的机器时间。

var stdStrTime = "T.084Z";
var mTime = Date.parse(stdStrTime);
console.log(mTime);
// output: 84

2个问题

在JS中操作时间,和在其它语言中操作时间原理上相似,核心就是解决2个问题:

把机器时间转成人类时间

把人类时间转成机器时间

得到当前机器时间

console.log(Date.now());
// ouput: 28

得到当前人类时间

var stdStrTime = new Date();
console.log(now);

上面的代码在Chrome环境中输出雷氏与这样:Tue Aug 15 2017 GMT+0800 (China Standard Time)。在Node.js环境中输出类似与这样:T.806Z

给出标准字符串时间转成机器时间

var stdStrTime = "T.000Z";
var mTime = Date.parse(humanTime);
console.log(machineTime);
// output: 00

给出机器时间转成标准字符串时间

var mTime = 00;
var stdStrTime = new Date(mTime);
console.log(stdStrTime);
// output: T.000Z

参考书籍

JavaScript高级程序设计第三版

以上这篇JS操作时间 - UNIX时间戳的简单介绍(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持凡科。


"> 对不起,没有下一图集了!">
在线咨询