如何将日期格式化为 (dd/mm/yyyy hh:mm:ss)?

4
我该如何将下面的日期转换成这个格式 (dd/mm/yyyy hh:mm:ss)?
答案:
05/04/2021 14:52

我尝试用那种方法来做,但是我只得到了时间,而没有日期和时间。

var data = new Date('05/04/2021 14:52');
var time = data.toLocaleTimeString('pt-PT', {hour12: false});
console.log(time);


使用 toLocalDateString 获取日期,然后将它们连接起来。 - Barmar
我是这样做的 var time = data.toLocaleDateString ('pt-PT'); 但返回了日期,但没有时间。 - Isaac
这个回答解决了你的问题吗?如何格式化JavaScript日期 - Heretic Monkey
@ashish 我是这样做的,但是日期和月份搞反了。 - Isaac
请注意,在除了ISO 8601的某些格式之外使用 new Date(string) 可能无法跨浏览器或平台正常工作。请参阅 https://dev59.com/jXE85IYBdhLWcg3w2HNa。 - Heretic Monkey
显示剩余3条评论
3个回答

3

这是我的解决方案。如果您想创建高级格式,可以阅读有关Intl对象的更多信息。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl

const formatDate = new Intl.DateTimeFormat("en" , {
  day: "2-digit",
  month: "2-digit",
  year: "numeric",
  hour: "2-digit",
  minute: "2-digit",
  second: "2-digit",
  hour12: false
});

console.log(formatDate.format(new Date('05/04/2021 14:52')))

如果你看到一个以“这回答了你的问题吗?”开头的评论,后面跟着一个问题链接,请点击该链接并查看答案;如果它们确实回答了问题,请不要再回答该问题。我们希望将类似问题的最佳答案保留在一个地方。 - Heretic Monkey
好的,我明白了。 - Dai Nguyen

2

如果您需要更多与日期相关的内容,而不仅仅是简单的日期格式化,您可以使用Moment.js

moment().format('MMMM Do yyyy, h:mm:ss a'); // April 5th 2021, 9:16:13 pm
moment().format('DD/MM/yyyy hh:mm'); // 05/04/2021 21:18

如果你需要格式化你的Date对象,只需使用以下方法:
moment(date).format('DD/MM/yyyy hh:mm');

Moment.js对于处理日期的操作也非常有用,比如添加/减去天数、周数、月数,获取一周、一个月、一个季度的起始日期,以及许多其他有用的操作。

@HereticMonkey 好的,明白了。去吧。 - Ram Chander

2
您可以使用以下脚本。
var data = new Date('05/04/2021 14:52');
console.log(data.toLocaleString('en-GB',{hour12: false}));

输出结果: "04/05/2021, 14:52:00"


仅适用于美国日期。 - No Idea For Name

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接