JS標準庫系列(五)—— Date對象

一、Date作為工具函數(shù)


Date對象是JS提供的日期和時間的操作接口愚墓。
Date對象作為工具函數(shù)直接使用予权,不管有沒有參數(shù),都是返回當前時間的字符串浪册。

作為工具函數(shù)返回

二扫腺、new Date()


Date還可以當作構(gòu)造函數(shù)使用,返回一個Date對象的實例村象,如果不加參數(shù)笆环,生成的就是代表當前時間的對象。

var today = new Date();

這個Date實例對應(yīng)的字符串值厚者,就是當前時間咧织。

作為構(gòu)造函數(shù)使用

同時作為構(gòu)造函數(shù),里面還可以接受多種形式的參數(shù)籍救。

[ 注 ]:北京時間,又名中國標準時間CST)渠抹,是中國大陸的標準時間蝙昙,比世界協(xié)調(diào)時快八小時(即UTC+8)闪萄,或者是比格林威治時間快八小時(即GMT+8),因為格林威治時間(GMT)和世界協(xié)調(diào)時間(UTC)處于同個時區(qū)奇颠。

2.1败去、new Date(milliseconds)

將你要得到的那個日期轉(zhuǎn)化成毫秒數(shù),時間是從1970年1月1日00:00:00 UTC開始計算的烈拒。

// 將1970年1月2日的 零時 轉(zhuǎn)為時間對象
//注意圆裕,這里是零時,那東八區(qū)就會+8
var Jan02_1970 = new Date( 24* 60 * 60 * 1000);
// Fri Jan 02 1970 08:00:00 GMT+0800(中國標準時間)

// 將1969年12月31日的零時轉(zhuǎn)為時間對象
var Dec31_1969 = new Date(- 24 * 60 * 60 * 1000);
// Wed Dec 31 1969 08:00:00 GMT+0800(中國標準時間)

上面最后一個例子說明荆几,Date構(gòu)造函數(shù)的參數(shù)可以是一個負數(shù)吓妆,表示1970年1月1日之前的時間。

2.2吨铸、new Date(datestring)

Date對象還接受一個日期字符串作為參數(shù)行拢,返回所對應(yīng)的時間。

new Date('Jan 2, 2017');
// Mon Jan 02 2017 00:00:00 GMT+0800 (中國標準時間)

對于YYYY-MM-DD形式的字符串诞吱,JavaScript引擎可能會將其當作ISO格式來解析舟奠,采用格林尼治時區(qū)作為計時標準;而對于其他格式的日期字符串房维,一律視為非ISO格式沼瘫,采用本地時區(qū)作為計時標準。

輸入字符串格式影響計時標準
2.3咙俩、new Date(year, month [, date, hours, minutes, seconds, ms])

Date對象還可以接受多個整數(shù)作為參數(shù)耿戚,依次表示年、月暴浦、日溅话、小時、分鐘歌焦、秒和毫秒飞几。如果采用這種格式,最少需要提供兩個參數(shù)(年和月)独撇,其他參數(shù)都是可選的屑墨。

注意:月份從0開始計算,日期date默認為1纷铣,其它默認為0卵史。

多個整數(shù)作為參數(shù)

三、日期的運算


類型轉(zhuǎn)換時搜立,Date對象的實例如果轉(zhuǎn)為數(shù)值以躯,則等于對應(yīng)的毫秒數(shù);
如果轉(zhuǎn)為字符串,則等于對應(yīng)的日期字符串忧设。

日期的計算

所以刁标,兩個日期對象進行減法運算,返回的就是它們間隔的毫秒數(shù)址晕;進行加法運算膀懈,返回的就是連接后的兩個字符串。

四谨垃、Date對象的靜態(tài)方法


4.1启搂、Date.now() [ 當前時間是CST時間,會轉(zhuǎn)成GMT時間計算 ]

Date.now方法返回當前時間的UTC時間距離1970年1月1日 00:00:00 UTC的毫秒數(shù)刘陶。

返回當前時間距離UTC的毫秒數(shù)

這個當前是個什么時間胳赌?
假設(shè)我電腦現(xiàn)在顯示2017年1月2日 11:15:00 CST這是東八區(qū)時間,那要先轉(zhuǎn)化為UTC時間 -82017年1月2日 03:15:00 UTC然后計算這個時間距離1970年1月1日 00:00:00 UTC的毫秒數(shù)易核。

驗證
4.2匈织、Date.parse() [ 參數(shù)是CST或GMT,是CST則轉(zhuǎn)成GMT時間計算 ]

Date.parse方法用來解析日期字符串牡直,返回距離1970年1月1日 00:00:00 UTC的毫秒數(shù)缀匕。

解析日期字符串

如果解析失敗,返回NaN碰逸。

參數(shù)的區(qū)別
4.3乡小、Date.UTC() [ 參數(shù)是GMT無需轉(zhuǎn)換 ]

該方法接受年、月饵史、日等變量作為參數(shù)满钟,參數(shù)就是UTC時間,返回距離1970年1月1日 00:00:00 UTC的毫秒數(shù)胳喷。

返回UTC時間

現(xiàn)在發(fā)現(xiàn)有點懵B湃番,這些個方法,參數(shù)吭露,時區(qū)吠撮,得到的結(jié)果讓人摸不著頭腦,甚是玄乎啊讲竿,不知道怎么記憶泥兰。

三者的區(qū)別比較

五、Date實例對象的方法


Date的實例對象题禀,有幾十個自己的方法鞋诗,分為以下三類。

  • to類:從Date對象返回一個字符串迈嘹,表示指定的時間削彬。
  • get類:獲取Date對象的日期和時間。
  • set類:設(shè)置Date對象的日期和時間。
5.1吃警、to類方法

toString:返回當前時區(qū)的完整日期字符串糕篇;
toUTCString:返回返回對應(yīng)的UTC時間完整日期字符串;
toDateString:返回日期字符串酌心;
toTimeString:返回時間字符串;
toLocaleTimeString:返回一個字符串挑豌,代表時間的當?shù)貙懛ā?/p>

常見的to類方法
5.2安券、get類方法

Date對象提供了一系列get*方法,用來獲取實例對象某個方面的值氓英。

getFullYear: 獲取實例的四位年份侯勉;
getMonth:獲取月份(0表1月,11表12月)铝阐;
getDate:獲取幾號址貌;
getDay:獲取星期(0為星期日,1為星期一)徘键;
getHours:返回小時练对;
getMinutes:返回分鐘;
getSeconds:返回秒吹害;
getMilliseconds:返回毫秒螟凭;
getTime():返回距離1970年1月1日00:00:00的毫秒數(shù),相當于valueOf();

get*方法
5.3它呀、set類方法

Date對象提供了一系列set*方法螺男,用來設(shè)置實例對象的各個方面。

setFullYear:設(shè)置實例的四位年份纵穿;
setMonth:設(shè)置月份下隧;
setDate:設(shè)置日子;
setHours:設(shè)置小時谓媒;
setMinutes:設(shè)置分鐘淆院;
setSeconds:設(shè)置秒;
setMilliseconds:設(shè)置毫秒篙耗;
setTime:設(shè)置毫秒時間戳迫筑;

set*方法

(本系列下一節(jié)為 — Math對象)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宗弯,隨后出現(xiàn)的幾起案子脯燃,更是在濱河造成了極大的恐慌,老刑警劉巖蒙保,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辕棚,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機逝嚎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門扁瓢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人补君,你說我怎么就攤上這事引几。” “怎么了挽铁?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵伟桅,是天一觀的道長。 經(jīng)常有香客問我叽掘,道長楣铁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任更扁,我火速辦了婚禮盖腕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浓镜。我一直安慰自己溃列,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布竖哩。 她就那樣靜靜地躺著哭廉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪相叁。 梳的紋絲不亂的頭發(fā)上遵绰,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音增淹,去河邊找鬼椿访。 笑死,一個胖子當著我的面吹牛虑润,可吹牛的內(nèi)容都是我干的成玫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拳喻,長吁一口氣:“原來是場噩夢啊……” “哼哭当!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冗澈,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤钦勘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后亚亲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彻采,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡腐缤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肛响。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岭粤。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖特笋,靈堂內(nèi)的尸體忽然破棺而出剃浇,到底是詐尸還是另有隱情,我是刑警寧澤雹有,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布偿渡,位于F島的核電站,受9級特大地震影響霸奕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吉拳,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一质帅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧留攒,春花似錦煤惩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拭宁,卻和暖如春洛退,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杰标。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工兵怯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腔剂。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓媒区,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掸犬。 傳聞我的和親對象是個殘疾皇子袜漩,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,958評論 6 13
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,233評論 0 4
  • 參考基礎(chǔ)教程的整理,方便記憶 一湾碎、Object對象 (O大寫) 所有其他對象都繼承自這個對象宙攻。Object本身也是...
    Viaphlyn閱讀 2,320評論 0 0
  • 抄自http://javascript.ruanyifeng.com/stdlib/date.html概述Date...
    zjh111閱讀 4,911評論 0 2
  • 1 下班后,和同事坐公交車胜茧,倆人開始聊天粘优。 同事四十二歲了仇味,聲音洪亮,總是在笑雹顺,走起路來也很有力量丹墨,蠻有精神蠻有活...
    梁朝月閱讀 74評論 1 0