在 JavaScript 中将日期格式化为 YYYY-MM-DD

在 JavaScript 中将日期格式化为 YYYY-MM-DD

Format a Date as YYYY-MM-DD in JavaScript

要将日期格式化为 yyyy-mm-dd:

  1. 使用getFullYear(),getMonth()getDate()方法获取日期的年月日。
  2. 如果值小于 ,则在日和月数字前添加前导零
    10
  3. 将结果添加到数组并使用连字符分隔符将它们连接起来。
索引.js
function padTo2Digits(num) { return num.toString().padStart(2, '0'); } function formatDate(date) { return [ date.getFullYear(), padTo2Digits(date.getMonth() + 1), padTo2Digits(date.getDate()), ].join('-'); } // 👇️ 2022-01-19 (yyyy-mm-dd) console.log(formatDate(new Date())); // 👇️️ 2025-05-09 (yyyy-mm-dd) console.log(formatDate(new Date(2025, 4, 9)));

我们做的第一件事是创建一个padTo2Digits函数,如果月份或日期仅包含一位数字(小于 10),该函数将负责添加前导零。

索引.js
function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(5)); // 👉️ '05' console.log(padTo2Digits(9)); // 👉️ '09' console.log(padTo2Digits(10)); // 👉️ '10'

我们要确保结果始终一致并且月份和日期为 2 位数字,因此我们使用了
padStart
方法。

我们传递给padTo2Digits函数的第一个参数是字符串的总长度,所以如果日期或月份已经有 2 位数字,它就不会填充它们。

接下来,我们创建了一个函数,它接受一个日期并将其格式化为yyyy-mm-dd.

该函数使用以下 3 个Date相关方法。

  • Date.getFullYear
    方法 – 返回代表与日期对应的年份的四位数字。

  • Date.getMonth0 – 返回一个介于(January) 和(December)之间的整数11,代表给定日期的月份。是的,不幸的是该getMonth方法已关闭1

  • Date.getDate1 – 返回一个介于和之间的整数,31表示特定日期的月中日期。

getMonth方法返回从 0 到 11 的从零开始的月份索引,表示一月是0,十二月是11

因为该getMonth方法是从零开始的,所以我们将 1 添加到它的返回值。

最后一步是将对方法的调用放在一个数组中,这样我们就可以用连字符分隔符连接它们。这里有些例子。

索引.js
console.log(['2025', '05', '24'].join('-')); // 👉️ '2025-05-24' console.log(['2025', '09', '13'].join('-')); // 👉️ '2025-09-13'

这为我们提供了日期,格式为yyyy-mm-dd. 这是完整的例子。

索引.js
function padTo2Digits(num) { return num.toString().padStart(2, '0'); } function formatDate(date = new Date()) { return [ date.getFullYear(), padTo2Digits(date.getMonth() + 1), padTo2Digits(date.getDate()), ].join('-'); } // 👇️ 2022-01-19 (yyyy-mm-dd) console.log(formatDate()); // 👇️️ 2025-05-09 (yyyy-mm-dd) console.log(formatDate(new Date(2025, 4, 9)));

进一步阅读

发表评论