在 JavaScript 中要将日期格式化为 dd/mm/yyyy
。需要遵循以下步骤:
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 种与日期相关的方法。
%> getMonth 方法返回从 0 到 11 的从零开始的月份索引,这意味着一月是 0,十二月是 11。
因为 getMonth 方法是从零开始的,所以我们在它的返回值上加了 1。
我们将年、月和日放在一个数组中,因此我们可以用连字符分隔符将它们连接起来。
console.log(['28', '06', '2027'].join('/'));
console.log(['16', '09', '2026'].join('/'));
运行示例
这让我们得到格式为 dd/mm/yyyy 的日期。
在 JavaScript 中要还可以将日期格式化为 yyyy-mm-dd hh:mm:ss
。需要遵循以下步骤:
function padTo2Digits(num) {
return num.toString().padStart(2, '0');
}
function formatDate(date) {
return (
[
date.getFullYear(),
padTo2Digits(date.getMonth() + 1),
padTo2Digits(date.getDate()),
].join('-') +
' ' +
[
padTo2Digits(date.getHours()),
padTo2Digits(date.getMinutes()),
padTo2Digits(date.getSeconds()),
].join(':')
);
}
// ️ 2021-10-24 16:21:23 (yyyy-mm-dd hh:mm:ss)
console.log(formatDate(new Date()));
// ️️ 2025-05-04 05:24:07 (yyyy-mm-dd hh:mm:ss)
console.log(formatDate(new Date('May 04, 2025 05:24:07')));