JavaScript 中如何將日期格式化為 DD/MM/YYYY

跡憶客發表於2022-02-08

JavaScript 中要將日期格式化為 dd/mm/yyyy 。需要遵循以下步驟:

  1. 使用 getDate()、getMonth() 和 getFullYear() 方法獲取特定日期的日、月和年。
  2. 如果值小於 10,則在日期和月份數字前新增前導零,使得可以始終獲得一致的結果。
  3. 將結果新增到陣列並使用 / 分隔符連線它們。
function padTo2Digits(num) {
  return num.toString().padStart(2, '0');
}

function formatDate(date) {
  return [
    padTo2Digits(date.getDate()),
    padTo2Digits(date.getMonth() + 1),
    date.getFullYear(),
  ].join('/');
}

// 24/10/2021 (mm/dd/yyyy)
console.log(formatDate(new Date()));

//  24/07/2027 (mm/dd/yyyy)
console.log(formatDate(new Date(2027, 6, 24)));

執行示例

我們做的第一件事是建立一個 padTo2Digits 函式,如果月份或日期僅包含一個數字(小於 10),該函式負責新增前導零。

function padTo2Digits(num) {
  return num.toString().padStart(2, '0');
}

console.log(padTo2Digits(2)); // ?️ '02'
console.log(padTo2Digits(6)); // ?️ '06'
console.log(padTo2Digits(10)); // ?️ '10'

執行示例

我們要確保結果始終一致,並且有 2 位數字表示月份和日期,因此我們使用了 padStart 方法。

我們傳遞給 padTo2Digits 函式的第一個引數是字串的總長度,因此如果它已經有 2 位數字,它將永遠不會填充一個值。

接下來,我們建立了一個函式,它接受一個日期並將其格式化為 dd/mm/yyyy。

該函式使用以下 3 種與日期相關的方法。

  • Date.getFullYear 方法 - 返回一個四位數字,表示對應於日期的年份。
  • Date.getMonth - 返回一個介於 0(一月)和 11(十二月)之間的整數,表示給定日期的月份。 是的,不幸的是 getMonth 方法不是從 1 開始的。
  • Date.getDate - 返回一個介於 1 到 31 之間的整數,表示特定日期的月份日期。

getMonth 方法返回從 0 到 11 的從零開始的月份索引,這意味著一月是 0,十二月是 11。

因為 getMonth 方法是從零開始的,所以我們在它的返回值上加了 1。

我們將年、月和日放在一個陣列中,因此我們可以用連字元分隔符將它們連線起來。

console.log(['28', '06', '2027'].join('/'));
console.log(['16', '09', '2026'].join('/'));

執行示例

這讓我們得到格式為 dd/mm/yyyy 的日期。

相關文章