Javascript 将2020-03-02T13:40:03.000Z转换为DD/MM/YYYY HH:MM:SS的正则表达式
考虑日期时间Javascript 将2020-03-02T13:40:03.000Z转换为DD/MM/YYYY HH:MM:SS的正则表达式,javascript,regex,date,Javascript,Regex,Date,考虑日期时间2020-03-02T13:40:03.000Z 我想把它转换成02-03-2020 13:40:03 以下函数将YYYYMMDD转换为DD/MM/YYYY const convertDateToDDMMYYYY = (date) => { const newDate = date.replace(/(\d{4})(\d{2})(\d{2})/g, '$1-$2-$3'); return newDate; } 我们怎么能忽略T和.000Z后缀?您可以使
2020-03-02T13:40:03.000Z
我想把它转换成02-03-2020 13:40:03
以下函数将YYYYMMDD转换为DD/MM/YYYY
const convertDateToDDMMYYYY = (date) => {
const newDate = date.replace(/(\d{4})(\d{2})(\d{2})/g, '$1-$2-$3');
return newDate;
}
我们怎么能忽略T
和.000Z
后缀?您可以使用
.replace(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}:\d{2}:\d{2})\.\d+Z$/, '$3-$2-$1 $4')
见
-字符串的开头^
-第1组:年份(\d{4})
-连字符,第2组:月,然后是连字符-(\d{2})-
-第3组:天(\d{2})
-a T(刚刚匹配,未捕获!)T
-第4组:时间部分(\d{2}:\d{2}:\d{2})
-一个点\。
-1+位\d+
-aZ
charZ
-字符串结束$
const convertdatetoddmmyyy=(日期)=>{
返回日期。替换(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}:\d{2}:\d{2})\.\d+Z$/,“$3-$2-$1$4”);
}
console.log(convertDateToDDMMYYYY(“2020-03-02T13:40:03.000Z”)
您可以通过使用对象,然后提取每个部分来实现所需的结果:
const date=新日期('2020-03-02T13:40:03.000Z');
常数=
[('0'+date.getUTCDate()).slice(-2),
('0'+(date.getUTCMonth()+1)).slice(-2),
日期:getUTCFullYear()
].join(“-”)+
' ' +
[('0'+date.getUTCHours()).slice(-2),
('0'+date.getUTCMinutes()).slice(-2),
('0'+date.getUTCSeconds()).slice(-2)
]。加入(“:”);
控制台日志(sdate)
这太棒了,你能给我推荐一个好的教程来学习吗?@JAN我不知道你的正则表达式知识水平:),所以我只能建议你在,通读,(通过许多其他链接到伟大的在线资源)和所谓的社区上完成所有课程。还有,值得一看。如果可以的话,我会给你+400000000000000000000汉克,但我只想要正则表达式。@JAN有什么特别的原因吗?使用内置的Date
对象的优点是,它可以处理的日期格式远远多于2020-03-02T13:40:03.000Z
@Nick您不应该将内置解析器用于除两种受支持格式之外的任何格式,因此,仍然需要对其进行自定义,以解析每种不同的格式。@RobG I指的是,受支持的ISO8601
和RFC 2822
格式都有可选部分,从而在指定日期时间值时具有更大的灵活性。