JavaScript之Date_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
在JavaScript中,Date對(duì)象用來(lái)表示日期和時(shí)間。
要獲取系統(tǒng)當(dāng)前時(shí)間,用:
var now = new Date(); now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST) now.getFullYear(); // 2015, 年份 now.getMonth(); // 5, 月份,注意月份范圍是0~11,5表示六月 now.getDate(); // 24, 表示24號(hào) now.getDay(); // 3, 表示星期三 now.getHours(); // 19, 24小時(shí)制 now.getMinutes(); // 49, 分鐘 now.getSeconds(); // 22, 秒 now.getMilliseconds(); // 875, 毫秒數(shù) now.getTime(); // 1435146562875, 以number形式表示的時(shí)間戳
注意,當(dāng)前時(shí)間是瀏覽器從本機(jī)操作系統(tǒng)獲取的時(shí)間,所以不一定準(zhǔn)確,因?yàn)橛脩?hù)可以把當(dāng)前時(shí)間設(shè)定為任何值。
如果要?jiǎng)?chuàng)建一個(gè)指定日期和時(shí)間的Date對(duì)象,可以用:
var d = new Date(2015, 5, 19, 20, 15, 30, 123); d; // Fri Jun 19 2015 20:15:30 GMT+0800 (CST)
你可能觀察到了一個(gè)非常非??拥牡胤剑褪荍avaScript的月份范圍用整數(shù)表示是0~11,0表示一月,1表示二月……,所以要表示6月,我們傳入的是5!這絕對(duì)是JavaScript的設(shè)計(jì)者當(dāng)時(shí)腦抽了一下,但是現(xiàn)在要修復(fù)已經(jīng)不可能了。
第二種創(chuàng)建一個(gè)指定日期和時(shí)間的方法是解析一個(gè)符合ISO 8601格式的字符串:
var d = Date.parse('2015-06-24T19:49:22.875+08:00');
d; // 1435146562875
但它返回的不是Date對(duì)象,而是一個(gè)時(shí)間戳。不過(guò)有時(shí)間戳就可以很容易地把它轉(zhuǎn)換為一個(gè)Date:
var d = new Date(1435146562875); d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
時(shí)區(qū)
Date對(duì)象表示的時(shí)間總是按瀏覽器所在時(shí)區(qū)顯示的,不過(guò)我們既可以顯示本地時(shí)間,也可以顯示調(diào)整后的UTC時(shí)間:
var d = new Date(1435146562875); d.toLocaleString(); // '2015/6/24 下午7:49:22',本地時(shí)間(北京時(shí)區(qū)+8:00),顯示的字符串與操作系統(tǒng)設(shè)定的格式有關(guān) d.toUTCString(); // 'Wed, 24 Jun 2015 11:49:22 GMT',UTC時(shí)間,與本地時(shí)間相差8小時(shí)
那么在JavaScript中如何進(jìn)行時(shí)區(qū)轉(zhuǎn)換呢?實(shí)際上,只要我們傳遞的是一個(gè)number類(lèi)型的時(shí)間戳,我們就不用關(guān)心時(shí)區(qū)轉(zhuǎn)換。任何瀏覽器都可以把一個(gè)時(shí)間戳正確轉(zhuǎn)換為本地時(shí)間。
時(shí)間戳是個(gè)什么東西?時(shí)間戳是一個(gè)自增的整數(shù),它表示從1970年1月1日零時(shí)整的GMT時(shí)區(qū)開(kāi)始的那一刻,到現(xiàn)在的毫秒數(shù)。假設(shè)瀏覽器所在電腦的時(shí)間是準(zhǔn)確的,那么世界上無(wú)論哪個(gè)時(shí)區(qū)的電腦,它們此刻產(chǎn)生的時(shí)間戳數(shù)字都是一樣的,所以,時(shí)間戳可以精確地表示一個(gè)時(shí)刻,并且與時(shí)區(qū)無(wú)關(guān)。
所以,我們只需要傳遞時(shí)間戳,或者把時(shí)間戳從數(shù)據(jù)庫(kù)里讀出來(lái),再讓JavaScript自動(dòng)轉(zhuǎn)換為當(dāng)?shù)貢r(shí)間就可以了。
要獲取當(dāng)前時(shí)間戳,可以用:
if (Date.now) {
alert(Date.now()); // 老版本IE沒(méi)有now()方法
} else {
alert(new Date().getTime());
}
以上所述是小編給大家介紹的JavaScript之Date,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
學(xué)習(xí)JavaScript設(shè)計(jì)模式之責(zé)任鏈模式
這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式中的責(zé)任鏈模式,對(duì)JavaScript設(shè)計(jì)模式感興趣的小伙伴們可以參考一下2016-01-01
[js高手之路]圖解javascript的原型(prototype)對(duì)象,原型鏈實(shí)例
下面小編就為大家?guī)?lái)一篇[js高手之路]圖解javascript的原型(prototype)對(duì)象,原型鏈實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
微信小程序chooseImage的用法(從本地相冊(cè)選擇圖片或使用相機(jī)拍照)
這篇文章主要介紹了微信小程序chooseImage的用法(從本地相冊(cè)選擇圖片或使用相機(jī)拍照),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
js數(shù)組反轉(zhuǎn)的幾種常見(jiàn)方法舉例
最近學(xué)到了數(shù)組的使用方法,給大家分享一下,這篇文章主要給大家介紹了關(guān)于js數(shù)組反轉(zhuǎn)的幾種常見(jiàn)方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
AjaxUpLoad.js實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了AjaxUpLoad.js實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
js腳本編寫(xiě)簡(jiǎn)單刷票投票系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了js腳本編寫(xiě)簡(jiǎn)單刷票投票系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
javascript trim 去空格函數(shù)實(shí)現(xiàn)代碼
去除字符串左右兩端的空格,在vbscript里面可以輕松地使用 trim、ltrim 或 rtrim,但在js中卻沒(méi)有這3個(gè)內(nèi)置方法,需要手工編寫(xiě)。下面的實(shí)現(xiàn)方法是用到了正則表達(dá)式,效率不錯(cuò),并把這三個(gè)方法加入String對(duì)象的內(nèi)置方法中去。2008-10-10
JavaScript使用focus()設(shè)置焦點(diǎn)失敗的解決方法
這篇文章主要介紹了JavaScript使用focus()設(shè)置焦點(diǎn)失敗的一個(gè)解決方法 ,需要的朋友可以參考下2014-09-09

