JavaScript 中如何将日期格式化为 DD/MM/YYY

51 篇文章 2 订阅

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

  1. 使用 getDate()、getMonth() 和 getFullYear() 方法获取特定日期的日、月和年。
  2. 如果值小于 10,则在日期和月份数字前添加前导零,使得可以始终获得一致的结果。
  3. 将结果添加到数组并使用 / 分隔符连接它们。
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 种与日期相关的方法。

  • Date.getFullYear 方法 - 返回一个四位数字,表示对应于日期的年份。
  • Date.getMonth - 返回一个介于 0(一月)和 11(十二月)之间的整数,表示给定日期的月份。 是的,不幸的是 getMonth 方法不是从 1 开始的。
  • Date.getDate - 返回一个介于 1 到 31 之间的整数,表示特定日期的月份日期。

%> 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 。需要遵循以下步骤:

  1. 使用 Date 对象上的方法获取日期的所有组成部分。
  2. 如果值小于 10,则在日、月、小时、分钟和秒中添加前导零。
  3. 用连字符连接与日期相关的字符串,用冒号连接与时间相关的字符串。
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')));
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迹忆客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值