考虑DateTime 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
?
答案 0 :(得分:1)
您可以使用
.replace(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}:\d{2}:\d{2})\.\d+Z$/, '$3-$2-$1 $4')
请参见regex demo
^
-字符串的开头(\d{4})
-第1组:年份-(\d{2})-
-连字符,第2组:月份,然后是连字符(\d{2})
-第3组:每天T
-T(正好匹配,未捕获!)(\d{2}:\d{2}:\d{2})
-第4组:时间部分\.
-一个点\d+
-1个以上数字Z
-一个Z
字符$
-字符串的结尾。请参阅JS演示:
const convertDateToDDMMYYYY = (date) => {
return date.replace(/^(\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"))
答案 1 :(得分:1)
您可以通过使用Date
对象然后提取每个部分来获得所需的结果:
const date = new Date('2020-03-02T13:40:03.000Z');
const sdate =
[('0' + date.getUTCDate()).slice(-2),
('0' + (date.getUTCMonth() + 1)).slice(-2),
date.getUTCFullYear()
].join('-') +
' ' +
[('0' + date.getUTCHours()).slice(-2),
('0' + date.getUTCMinutes()).slice(-2),
('0' + date.getUTCSeconds()).slice(-2)
].join(':');
console.log(sdate);