JavaScript 是一種十分流行的編程語言,廣泛應用于前端開發(fā)。它提供了一系列 date api 來處理日期和時間的函數(shù),數(shù)量眾多,使用靈活方便,為開發(fā)者解決了不少問題。下面我們就來深入了解一下 JavaScript Date API。
一、JavaScript Date API 簡介
Date 是 JavaScript 中的一個內置對象,它可以處理日期和時間。Date 對象中提供了很多方法使得處理日期和時間變得十分方便,其中最常用的幾個方法如下所示:
$date.now() // 返回當前時間的毫秒數(shù)
$date.parse(dateString) // 解析一個日期時間字符串,并返回毫秒數(shù)
$date.prototype.getDate() // 返回 Date 對象的日期部分
$date.prototype.getDay() // 返回 Date 對象是星期幾
$date.prototype.getHours() // 返回 Date 對象的小時數(shù)
$date.prototype.getMinutes() // 返回 Date 對象的分鐘數(shù)
$date.prototype.getSeconds() // 返回 Date 對象的秒數(shù)
二、Date 對象的創(chuàng)建
下面我們來看一下如何創(chuàng)建 Date 對象。
1. 直接實例化:
let d = new Date(); // 實例化當前時間的 Date 對象
2. 通過參數(shù)創(chuàng)建:let d1 = new Date("2018-10-12 16:00:00"); // 指定日期時間字符串
let d2 = new Date(2018, 9, 12, 16, 0, 0); // 指定年月日時分秒
let d3 = new Date(1539350400000); // 指定時間戳
三、Date 對象的常用方法
接下來,我們看一下 Date 對象的常用方法。
1. 獲取時間:let d = new Date();
let hours = d.getHours();
let minutes = d.getMinutes();
let seconds = d.getSeconds();
let milliseconds = d.getMilliseconds();
2. 獲取日期:let d = new Date();
let year = d.getFullYear();
let month = d.getMonth();
let date = d.getDate();
let day = d.getDay();
3. 將 Date 對象轉換為字符串:let d = new Date();
console.log(d.toString()); // 輸出類似 "Mon Oct 22 2018 15:29:16 GMT+0800 (中國標準時間)" 的字符串
4. 獲取 Date 對象的時間戳:let d = new Date();
let timestamp = d.getTime();
四、Date 對象的格式化
有時候,我們需要將 Date 對象按照指定的格式進行轉換。這時,我們可以使用第三方庫 moment.js,也可以使用 JavaScript 的自帶函數(shù) String.prototype.replace()。
下面是一個將 Date 對象格式化為 "yyyy-MM-dd HH:mm:ss" 的示例代碼:function formatDate(date) {
let y = date.getFullYear();
let m = date.getMonth() + 1;
let d = date.getDate();
let h = date.getHours();
let i = date.getMinutes();
let s = date.getSeconds();
return y + '-' + addZero(m) + '-' + addZero(d) + ' ' + addZero(h) + ':' + addZero(i) + ':' + addZero(s);
}
function addZero(num) {
return num< 10 ? '0' + num : num;
}
let d = new Date();
let formatted = formatDate(d);
console.log(formatted); // 輸出類似 "2018-10-22 16:00:00" 的日期時間字符串
五、總結
本文介紹了 JavaScript Date API 的基礎用法,包括 Date 對象的創(chuàng)建、常用方法的調用和格式化等操作。開發(fā)者可以根據(jù)具體需求使用相應的方法,參考示例代碼進行開發(fā)工作。同時,我們也提供了一些可以參考的開源庫,比如 moment.js。對于日復一日的開發(fā),這些工具和技能的儲備會使你事半功倍!