使用 JavaScript 将日期格式化为 YYYYMMDD

使用 JavaScript 将日期格式化为 YYYYMMDD

Format a Date as YYYYMMDD using JavaScript

将日期格式化为YYYYMMDD

  1. 使用getFullYear(),getMonth()getDate()方法获取日期的年月日。
  2. 如果值小于 ,则在日和月数字前添加前导零
    10
  3. 将结果添加到数组中并在没有分隔符的情况下连接它们。
索引.js
// ✅ Using a one-liner hack const result = new Date().toLocaleDateString('sv').replaceAll('-', ''); console.log(result); // 👉️ "20220119" (today is Jan 19th, 2022) // ✅ Or create a reusable function 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(''); } // 👇️ 20220119 (get today's date) (yyyymmdd) console.log(formatDate()); // 👇️️ 20250509 (yyyymmdd) console.log(formatDate(new Date(2025, 4, 9)));

YYYYMMDD我们以两种不同的方式格式化日期。

代码片段中的第一个示例显示了您可以使用的快速单行 hack。

将区域设置传递sv给该toLocaleDateString 方法会返回一个Date格式为YYYY-MM-DD.
索引.js
// 👇️ "2022-01-19" console.log(new Date().toLocaleDateString('sv'))

我们所要做的就是将日期格式化为YYYYMMDD删除连字符。

在第二个示例中,我们创建了一个可重用函数,它将日期作为参数并将其格式化为YYYYMMDD.

如果未提供日期,该函数将以相同的格式返回当前日期。

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

索引.js
function padTo2Digits(num) { return num.toString().padStart(2, '0'); }
我们传递给该padStart方法的第一个参数是字符串的总长度,因此如果日期或月份已经有 2 位数字,它就不会填充它们。

我们创建的下一个函数是将日期格式化为YYYYMMDD.

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

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

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

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

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

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

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

索引.js
console.log(['2022', '01', '19'].join('')); // 👉️ '20220119' console.log(['2024', '09', '24'].join('')); // 👉️ '20240924'

这让我们得到了格式为YYYYMMDD. 这是完整的代码片段。

索引.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(''); } // 👇️ 20220119 (get today's date) (yyyymmdd) console.log(formatDate()); // 👇️️ 20250509 (yyyymmdd) console.log(formatDate(new Date(2025, 4, 9)));

发表评论