Javascript JS:将ISO日期字符串格式化为自定义格式?

Javascript JS:将ISO日期字符串格式化为自定义格式?,javascript,Javascript,我有一个ISO日期字符串,如“2020-08-12T03:02:47Z”。我想把这些转换成“2020年8月12日下午3:02”。我是否需要将其与时间戳协调并向后工作才能完成此任务?您应该查看矩.js包 npm i时刻 console.log(moment(yourVariable).format('LLLL')) 您可以使用国际化API的格式选项。例如: let fmt=new Intl.DateTimeFormat('en-US',{ dateStyle:“长”, 时间方式:“短”, 时区

我有一个ISO日期字符串,如“2020-08-12T03:02:47Z”。我想把这些转换成“2020年8月12日下午3:02”。我是否需要将其与时间戳协调并向后工作才能完成此任务?

您应该查看矩.js包

npm i时刻

console.log(moment(yourVariable).format('LLLL'))

您可以使用国际化API的格式选项。例如:

let fmt=new Intl.DateTimeFormat('en-US',{
dateStyle:“长”,
时间方式:“短”,
时区:“UTC”,
12小时:对
});
//演示
设str=fmt.格式(新日期(“2020-08-12T03:02:47Z”);
console.log(str);//“2020年8月12日凌晨3:02”
//可选:当您不喜欢“at”或“AM”或“PM”之前的空格时:
str=str.replace(/(..)$| at\b/g,“$1”);

console.log(str);//“2020年8月12日凌晨3:02”
您必须建立一个新的日期,从中获取值并重新格式化。

对于月份,请使用数组。对于小时数,获取上午/下午和小时数(0-12/0-11=0-23)。对于两位数的分钟数,在字符串“0”之前加上,并获取最后两个字符。对于小时,你甚至可以这样做,但你给我们显示小时为1位数

const MONTH=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月];
let date=新日期('2020-08-12T03:02:47Z');
让时间=date.getHours();
让小时数=(时间=12?'PM':'AM'
日期=月[date.getMonth()]+'+date.getDate()+,'+date.getFullYear()++'+hours+:'+('0'+date.getMinutes()).slice(-2)+amPm;

console.log(date);
Ciao,尝试使用
moment
suing格式
'LLL'
。如下所示:

let date='2020-08-12T03:02:47Z'
console.log(时刻(日期).format('LLL'))

为什么是PM?ISO字符串的时间部分有03作为小时,所以应该是AM。