JavaScript Date 對象是用于處理日期和時間的對象。它允許開發(fā)者根據(jù)需要創(chuàng)建日期對象、格式化日期并執(zhí)行日期算術(shù)運(yùn)算。
在 JavaScript 中,每個日期都是以數(shù)值型模式來存儲的。這個數(shù)值代表自 1970 年 1 月 1 日至今的毫秒數(shù),被稱為 Unix 時間戳。
var date = new Date(); // 獲取當(dāng)前時間 console.log(date); // 輸出當(dāng)前日期和時間 var timestamp = date.getTime(); // 當(dāng)前時間的 Unix 時間戳 console.log(timestamp);
JavaScript Date 對象提供了一系列函數(shù)用于獲取日期的各個部分,包括年、月、日、小時、分鐘、秒等。
var date = new Date(); console.log(date.getFullYear()); // 獲取當(dāng)前年份 console.log(date.getMonth()); // 獲取當(dāng)前月份(0-11,0 代表一月) console.log(date.getDate()); // 獲取當(dāng)前日期 console.log(date.getDay()); // 獲取當(dāng)前星期幾(0-6,0 代表星期日)
在 JavaScript 中,我們經(jīng)常需要計算給定日期是星期幾。可以使用 Date 對象的 getDay() 方法獲取數(shù)字形式的星期幾,但它返回的是 0-6 的星期幾,我們還需要將其轉(zhuǎn)換成具體星期名稱。
// 星期數(shù)組 var weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; var date = new Date(); var index = date.getDay(); console.log(weekday[index]); // 輸出當(dāng)前星期幾的名稱
除了獲取日期的各個部分,JavaScript Date 對象還可以通過一系列函數(shù)計算兩個日期之間的時間差,比如多少天、多少小時、多少分鐘等。
var date1 = new Date("2021-12-31"); var date2 = new Date("2022-01-01"); var diff = date2 - date1; // 兩個日期之間的毫秒數(shù)差 console.log(diff / 1000 / 60 / 60 / 24); // 輸出兩個日期間的天數(shù)
JavaScript Date 對象還支持與字符串之間的互相轉(zhuǎn)換,可以讓我們方便地將日期字符串轉(zhuǎn)換成日期對象,或者將日期對象轉(zhuǎn)換成特定格式的字符串。
// 將日期字符串轉(zhuǎn)換成日期對象 var str = "2022-01-01"; var date = new Date(str); console.log(date); // 將日期對象轉(zhuǎn)換成特定格式字符串(例如 "2022年1月1日") var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var formatStr = year + "年" + month + "月" + day + "日"; console.log(formatStr);
總而言之,JavaScript Date 對象提供了一系列函數(shù)用于處理日期、計算時間差等操作。熟練掌握這些函數(shù)可以讓我們更加方便地完成日期時間相關(guān)工作。