教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

JavaScript Date對象中的常用方法有哪些?

更新時間:2022年12月06日11時09分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

JavaScript中的日期對象用來處理日期和時間。例如,秒殺活動中日期的實時顯示、時鐘效果、在線日歷等。下面將對日期對象進行詳細講解。

日期對象的使用

JavaScript中的日期對象需要使用new Date()實例化對象才能使用,Date()是日期對象的構(gòu)造函數(shù)。在創(chuàng)建日期對象時,可以為Date()構(gòu)造函數(shù)傳入一些參數(shù),來表示具體的日期,其創(chuàng)建方式如下。

<script>
    // 方式1:沒有參數(shù),使用當前系統(tǒng)的當前時間作為對象保存的時間
    var datel = new Date();
    //輸出結(jié)果:Wed Nov 17 2021 14:59:56 GMT+0800 (中國標準時間)
    console.log(datel);
    // 方式2:傳入年、月、日、時、分、秒(月的范圍是0~11,即真實月份-1)
    var date2 =new Date(2019,10,16,10, 57,56);
    //輸出結(jié)果:Sat Nov 16 2019 10:57:56 GMT+0800(中國標準時間)
    console.log(date2);
    // 用字符串表示日期和時間
    var date3 = new Date('2019-10-16 10:57:56');
    // 輸出結(jié)果:Wed Oct 16 2019 10:57:56 GMT+0800(中國標準時間)
    console.log(date3);
</script>

在使用方式1時,其返回的datel對象保存的是對象創(chuàng)建時的時間;使用方式2時,最少需要指定年、月兩個參數(shù),后面的參數(shù)在省略時會自動使用默認值;使用方式3時,最少需要指定年份。另外,當傳人的數(shù)值大于合理范圍時,會自動轉(zhuǎn)換成相鄰數(shù)值(如方式2將月份設(shè)為-1表示去年12月,設(shè)為12表示明年1月)。

在獲取到日期對象后,直接輸出對象得到的是一個字符串 表示的日期和時間。如果想要用其他格式來表示這個日期和時間,可以通過調(diào)用日期對象的相關(guān)方法來實現(xiàn)。日期對象的常用方法分為get和set兩大類,分別如表1和表2所示。

Date對象的常用get方法

方法

作用

getFullYear() 獲取表示年份的4位數(shù)字
getMouth() 獲取月份,范圍為0~ 11 (0表示一月, 1表示二月,依次類推)
getDate() 獲取月份中的某一天,范圍1~31
getHours() 獲取小時數(shù),范圍為0~23
getMinutes() 獲取分鐘數(shù),范圍為0~59
getSeconds() 獲取秒數(shù),范圍為0~59
getMilliseconds() 獲取毫秒數(shù),范圍為0~999
getTime() 獲取從1970-01-01 00:00:00 距離Date對象所代表時間的毫秒數(shù)

表1


Date對象的常用get方法

方法

作用

setFullYear(value) 設(shè)置年份
setMouth(value) 設(shè)置月份
setDate(value) 設(shè)置月份中的某一天
setHours() 設(shè)置小時數(shù)
setMinutes() 設(shè)置分鐘數(shù)
setSeconds() 設(shè)置秒數(shù)
setMilliseconds() 設(shè)置毫秒數(shù)
setTime() 通過從1970-01-01 00:00:00 計時的毫秒數(shù)來設(shè)置時間

表2


下面我們通過具體代碼演示Date對象的使用,在控制臺中輸出當前日期。

<script>
    var date = new Date();              // 基于當前日期時間創(chuàng)建Date對象
    var year = date.getFullYear();      //獲取年
    var month = date.getMonth() + 1;    //獲取月,范圍為0~ 11 (0表示一月, 1表示二月,依次類推)
    var day = date.getDate();           //獲取日
    //通過數(shù)組將星期值轉(zhuǎn)換為字符串
    var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
    //輸出date對象保存的時間,示例:今天是2021年11月17日星期三
    console.log('今天是' + year + '年'+ month + '月'+ day + '日' + week[date.getDate() % 7]);
</script>

1637137263871_運行結(jié)果.jpg

在上述代碼中,第9行的week[date.getDay() % 7]用來從date對象中獲取星期值,然后作為數(shù)組的索引到week數(shù)組中取出對應(yīng)的星期字符串。

在開發(fā)中,還經(jīng)常需要將日期對象中的時間轉(zhuǎn)換成指定的格式,示例代碼如下。

<script>
    //返回當前時間,格式為:時:分:秒,用兩位數(shù)字表示
    function getTime() {
        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(getTime());     //輸出結(jié)果示例: 15:06:55
</script>

在上述代碼中,第6、8、10行代碼用來判斷給定數(shù)字是否為一位數(shù),如果是一位數(shù)則在前面加上“0”。

0 分享到:
和我們在線交談!