使用 JavaScript 将日期格式化为 YYYYMMDD
Format a Date as YYYYMMDD using JavaScript
将日期格式化为YYYYMMDD
:
- 使用
getFullYear()
,getMonth()
和getDate()
方法获取日期的年月日。 - 如果值小于 ,则在日和月数字前添加前导零
10
。 - 将结果添加到数组中并在没有分隔符的情况下连接它们。
索引.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.getMonth
0
– 返回一个介于(January) 和(December)之间的整数11
,代表给定日期的月份。是的,不幸的是该getMonth
方法已关闭1
。 -
Date.getDate
1
– 返回一个介于和之间的整数,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)));