真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JS操作時(shí)間-UNIX時(shí)間戳的簡(jiǎn)單介紹(必看篇)

準(zhǔn)備知識(shí)

成都創(chuàng)新互聯(lián)長(zhǎng)期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為諸暨企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,諸暨網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

GMT(Greenwich Mean Time) - 格林尼治時(shí)間。UTC(Universal Time Code) - 國(guó)際協(xié)調(diào)時(shí)間。PST(Pacific Standard Time,太平洋標(biāo)準(zhǔn)時(shí)間)。

UTC出現(xiàn)的比GMT時(shí)間晚,可以認(rèn)為UTC時(shí)間更加精確,不過(guò)它們之間只相差幾秒鐘。

UTC開始時(shí)間為:1970-01-01T00:00:00.000Z(這種時(shí)間設(shè)置可以一直精確到毫秒,字母T和Z僅僅是一種格式)

UNIX時(shí)間戳指的是從1970-01-01T00:00:00.000Z到現(xiàn)在的毫秒數(shù)。(1s=1000ms)

本文需要用到的時(shí)間規(guī)定如下:

機(jī)器時(shí)間- UNIX時(shí)間戳。(mTime)

人類時(shí)間- 人類可讀的各種時(shí)間。(hTime)

標(biāo)準(zhǔn)字符串時(shí)間- 1970-01-01T00:00:00.000Z(stdStrTime)

GMT時(shí)間- Tue, 15 Aug 2017 13:58:23 GMT(gmtTime)

需求描述

我們?nèi)粘I钪幸硎緯r(shí)間,方法非常之多,打在屏幕上就是各種字符串,另外我們還要考慮到外國(guó)人表示時(shí)間的方法。比如下面這些都可以表示某個(gè)時(shí)間:

2017年8月15日20:51:22

2017.08.15

2017-08-15 AM

6/13/2004

January 12, 2004

Tue May 25 2004 00:00:00 GMT-0700

1970-01-01T00:00:00.000Z

那么問(wèn)題來(lái)了,上面這些時(shí)間表示方法格式完全不統(tǒng)一,如果我設(shè)計(jì)個(gè)程序要求某些東西在指定時(shí)間運(yùn)行,我們?cè)撛趺幢硎具@個(gè)時(shí)間呢?在計(jì)算機(jī)編程中我們一般用一種最標(biāo)準(zhǔn)的時(shí)間表示方式:UNIX時(shí)間戳。這種時(shí)間表示方法精確到毫秒,表示方法唯一,非常適合編程處理。

核心函數(shù)

new Date()

參數(shù)可以是機(jī)器時(shí)間,參數(shù)為空時(shí)表示把當(dāng)前機(jī)器時(shí)間傳入。返回值是標(biāo)準(zhǔn)字符串時(shí)間。

// 參數(shù)為空時(shí)
var stdStrTime = new Date();
console.log(stdStrTime);
// output: 2017-08-15T14:22:08.385Z
var gmtTime = stdStrTime.toUTCString();
console.log(gmtTime);
// output: Tue, 15 Aug 2017 14:22:08 GMT

// 參數(shù)不為空時(shí)
var stdStrTime = new Date(1502769188084);
console.log(stdStrTime);
// output: 2017-08-15T03:53:08.084Z
var gmtTime = stdStrTime.toUTCString();
console.log(gmtTime);
// output: Tue, 15 Aug 2017 03:53:08 GMT

轉(zhuǎn)成GMT時(shí)間也可以用函數(shù)toGMTString(),該方法現(xiàn)在已經(jīng)不推薦使用。

Date.parse()

參數(shù)為標(biāo)準(zhǔn)字符串時(shí)間,返回值是對(duì)應(yīng)的機(jī)器時(shí)間。

var stdStrTime = "2017-08-15T03:53:08.084Z";
var mTime = Date.parse(stdStrTime);
console.log(mTime);
// output: 1502769188084

2個(gè)問(wèn)題

在JS中操作時(shí)間,和在其它語(yǔ)言中操作時(shí)間原理上相似,核心就是解決2個(gè)問(wèn)題:

把機(jī)器時(shí)間轉(zhuǎn)成人類時(shí)間

把人類時(shí)間轉(zhuǎn)成機(jī)器時(shí)間

得到當(dāng)前機(jī)器時(shí)間

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

得到當(dāng)前人類時(shí)間

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

上面的代碼在Chrome環(huán)境中輸出雷氏與這樣:Tue Aug 15 2017 21:09:46 GMT+0800 (China Standard Time)。在Node.js環(huán)境中輸出類似與這樣:2017-08-15T13:06:34.806Z

給出標(biāo)準(zhǔn)字符串時(shí)間轉(zhuǎn)成機(jī)器時(shí)間

var stdStrTime = "2004-05-25T00:00:00.000Z";
var mTime = Date.parse(humanTime);
console.log(machineTime);
// output: 1085443200000

給出機(jī)器時(shí)間轉(zhuǎn)成標(biāo)準(zhǔn)字符串時(shí)間

var mTime = 1085443200000;
var stdStrTime = new Date(mTime);
console.log(stdStrTime);
// output: 2004-05-25T00:00:00.000Z

參考書籍

JavaScript高級(jí)程序設(shè)計(jì)第三版

以上這篇JS操作時(shí)間 - UNIX時(shí)間戳的簡(jiǎn)單介紹(必看篇)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前名稱:JS操作時(shí)間-UNIX時(shí)間戳的簡(jiǎn)單介紹(必看篇)
轉(zhuǎn)載源于:http://weahome.cn/article/pceijs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部