在 JavaScript 中如何将日期格式化为 YYYY-MM-DD hh:mm:ss

JavaScript 中要将日期格式化为 yyyy-mm-dd hh:mm:ss 。需要遵循以下步骤:

  1. 使用 Date 对象上的方法获取日期的所有组成部分。

  2. 如果值小于 10,则在日、月、小时、分钟和秒中添加前导零。

  3. 用连字符连接与日期相关的字符串,用冒号连接与时间相关的字符串。

functionpadTo2Digits(num) {

return num.toString().padStart(2, '0');

}

functionformatDate(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(newDate()));

// ????️️ 2025-05-04 05:24:07 (yyyy-mm-dd hh:mm:ss)

console.log(formatDate(newDate('May 04, 2025 05:24:07')));

运行示例

我们做的第一件事是创建一个 padTo2Digits 函数,如果月、日、小时、分钟或秒只包含一个数字(小于 10),它将负责在其前面添加零。

functionpadTo2Digits(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 位数字,它将永远不会填充一个值。

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

该函数使用以下 6 种与日期相关的方法。

  • Date.getFullYear 方法 - 返回一个四位数字,表示对应于日期的年份。

  • Date.getMonth - 返回一个介于 0(一月)和 11(十二月)之间的整数,表示给定日期的月份。 是的,不幸的是 getMonth 方法不是从 1 开始的。

  • Date.getDate - 返回一个介于 1 到 31 之间的整数,表示特定日期的月份日期。

  • Date.getHours - 返回指定日期的小时数。

  • Date.getMinutes - 返回日期的分钟数。

  • Date.getSeconds - 返回特定日期的秒数。

getMonth 方法返回从 0 到 11 的从零开始的月份索引,这意味着一月是 0,十二月是 11。

因为 getMonth 方法是从零开始的,所以我们在它的返回值上加了 1。

我们将年、月和日放在一个数组中,因此我们可以用连字符分隔符将它们连接起来。

console.log(['2024', '06', '22'].join('-'));

console.log(['2026', '09', '16'].join('-'));

运行示例

这让我们得到格式为 yyyy-mm-dd 的日期。

下一步是将时间相关方法的返回值放在一个数组中,并用冒号连接它们。

console.log(['05', '24', '36'].join(':'));

console.log(['08', '13', '56'].join(':'));

我们使用加法 (+) 运算符在字符串中间添加一个空格,以获取格式为 yyyy-mm-dd hh:mm:ss 的日期。

本文转载自:迹忆客(https://www.jiyik.com)

以上是 在 JavaScript 中如何将日期格式化为 YYYY-MM-DD hh:mm:ss 的全部内容, 来源链接: utcz.com/z/290270.html

回到顶部