溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript的Date對象怎么用

發(fā)布時間:2022-05-18 13:35:46 來源:億速云 閱讀:157 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“JavaScript的Date對象怎么用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

JavaScript的Date對象怎么用

接下來說明 JS 第二類常見的內(nèi)置對象 —— Date 對象

Date 對象和 Math 對象不同,Math 對象不是構(gòu)造函數(shù),可以直接使用,而 Date 對象是一個構(gòu)造函數(shù),所以我們必須經(jīng)過對象實例化,即 new 過之后才可以使用,Date 對象多用于處理開發(fā)中的時間和日期方面的問題。

Date 對象實例化:

var date=new Date();

Date 對象實例化時可以有參數(shù)也可以沒有參數(shù),沒有參數(shù)輸出的就是當前系統(tǒng)當時的的標準時間,有參數(shù)的話我們可以輸出想要展現(xiàn)的時間

一:無參數(shù)的實例化

沒有參數(shù)實例化后會展現(xiàn)出當前系統(tǒng)當時的時間和日期

var date=new Date();  //沒有參數(shù)

console.log(date);  //會輸出當前時間

JavaScript的Date對象怎么用

二:有參數(shù)的實例化

有參數(shù)的實例化分為兩種,分別是 數(shù)字型 和 字符串型 ,以下分別對兩種類型舉例說明

1.數(shù)字型參數(shù)的實例化:

var date=new Date(2021,1,18);  //數(shù)字型參數(shù)

console.log(date);

JavaScript的Date對象怎么用

可以看到我們輸入的參數(shù)是1月,但輸出的結(jié)果是Feb(2月),數(shù)字型的輸出會比我們輸入的月份大一個月。

2.字符串型參數(shù)的實例化:

var date=new Date('2021-1-18 12:56:00');  //字符串型參數(shù)

console.log(date);

JavaScript的Date對象怎么用

參數(shù)是1月,輸出端的結(jié)果也是1月,因此利用字符串型參數(shù)要比數(shù)字型更多一些。

三:格式化年月日

我們已經(jīng)知道Math對象有很多屬性和方法可以直接使用,Date對象也一樣,實例化過后也可以使用很多方法,比較常用的有三種格式化年月日的方法

getFullYear()   輸出當前年份

getMonth()   輸出當前月份 (應注意輸出的月份比實際月份小1,輸出真實月份應該加1)

getDate()   輸出當前幾號

getDay()   輸出當前周幾 (周一到周天分別對應數(shù)字:1 2 3 4 5 6 0)

var Date=new Date();

 console.log(Date.getFullYear());  //輸出當前年份

 console.log(Date.getMonth() + 1);  //輸出結(jié)果為當前月份的前一月,要手動加1才能返回當前月份

 console.log(Date.getDate());  //輸出當前幾號

 console.log(Date.getDay());  //輸出當前周幾

JavaScript的Date對象怎么用

如果想要輸出效果為 2021年1月18日 星期二 ,以下操作即可

(因為星期幾只能返回一個數(shù)字,但是根據(jù)習慣我們想要返回的是‘星期幾’,所以我們把返回的數(shù)字當做一個索引,把星期天到星期六放到一個數(shù)組中,因為星期天返回的是0,所以把星期天放在數(shù)組的第一個位置,正好對應0索引)

var arr=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];

var Date=new Date();

var year=Date.getFullYear(); 

var month=Date.getMonth() + 1; 

var date=Date.getDate();

var day=Date.getDay();  

 console.log(year + '年' + month + '月' + date + '日' + arr[day]);

JavaScript的Date對象怎么用

四:格式化時分秒

與上面格式化年月日使用方法類似

getHours() 輸出當前小時

getMinutes()    輸出當前分鐘

getSeconds()   輸出當前秒

var Date=new Date();  

console.log(Date.getHours());  //輸出當前小時

console.log(Date.getMinutes());  //輸出當前分鐘

console.log(Date.getSeconds());  //輸出當前秒

JavaScript的Date對象怎么用

輸出連續(xù)格式時分秒:

將其封裝在了函數(shù)內(nèi),并利用三元運算符將不足10的數(shù)字補0,符合平??磿r間的習慣

function time()

{

var time=new Date();

var h=time.getHours();

h = h<10 ? '0'+h : h;

var m=time.getMinutes();

m = m<10 ? '0'+m : m;

var s=time.getSeconds();

s = s<10 ? '0'+s : s;

return h+'時'+m+'分'+s+'秒';

}

console.log(time());

JavaScript的Date對象怎么用

五:獲取當前時間總毫秒數(shù)(時間戳)

這里所說的總毫秒數(shù)是指當前時間距離1970年1月1日的總毫秒數(shù),共有四種方法可以表示

valueOf()

getTime()

var date=new Date();

console.log(date.valueOf());   

console.log(date.getTime());

JavaScript的Date對象怎么用

或者使用另外一種簡便寫法 var date=+new Date();返回的就是總毫秒數(shù)

var date=+new Date();

console.log(date);

以及H5新增加的一種方法,這個方法不需要實例化對象即可獲得,更為簡便

console.log(Date.now());

六:倒計時案例(重點)

在日常開發(fā)中很多地方都會用的到倒計時,例如淘寶,京東的雙十一秒殺倒計時等,我們?nèi)绾我矊懗鲆粋€倒計時效果呢,我們首先會想到剛才學到的獲取當前時間,再減去我們設置好的時間即可,但是我們獲取到的標準時間很可能會出現(xiàn)減去之后是負數(shù)的情況(例如02-12)這怎么辦呢?于是我們的時間戳便有利用價值了,時間戳即剛才講到過的總毫秒數(shù),這個時間是永遠不會重復的,對此我們可以使用設置好的總毫秒數(shù)減去當前的總毫秒數(shù),在進行一系列單位換算,就可以得到一個簡單的倒計時案例了,首先我們需要熟練記清楚單位換算之間的關(guān)系:

1秒=1000毫秒

天數(shù)=秒數(shù)/60/60/24

小時數(shù)=秒數(shù)/60/60%24

分鐘數(shù)=秒數(shù)/60%60

秒數(shù)=秒數(shù)%60

對于無法整除的秒數(shù),我們利用 parseInt() 方法取整即可,有了這樣一個換算關(guān)系,我們就可以輕松地完成這個倒計時案例了

function count(time)

{

    var nowtime=+new Date(); //得到當前時間

    var aimtime=+new Date(time);  //得到目標時間(結(jié)束時間)

    var times=(aimtime-nowtime)/1000;  //得到倒計時時間差(毫秒) 除1000得到秒

    var d=parseInt(times/60/60/24)  //得到倒計時天數(shù)

    d=d<10?'0'+d:d;  //將不足10的時間補0

    var h=parseInt(times/60/60%24)  //得到倒計時小時數(shù)

    h=h<10?'0'+h:h;  //將不足10的時間補0

    var m=parseInt(times/60%60)  //得到倒計時分鐘數(shù)

    m=m<10?'0'+m:m;  //將不足10的時間補0

    var s=parseInt(times%60)  //得到倒計時秒數(shù)

    s=s<10?'0'+s:s;  //將不足10的時間補0

    return d + '天' + h + '時' + m + '分' + s +'秒';  //返回倒計時

}

alert('倒計時還剩下' + count('2022-1-18 16:30:00'));  //調(diào)用并輸入目標的結(jié)束時間

“JavaScript的Date對象怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI