javascript - 将 2020-03-02T13:40:03.000Z 转换为 DD/MM/YYYY HH:MM:SS 的正则表达式
问题描述
考虑日期时间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
and.000Z
后缀呢?
解决方案
您可以使用
.replace(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}:\d{2}:\d{2})\.\d+Z$/, '$3-$2-$1 $4')
查看正则表达式演示
^
- 字符串的开始(\d{4})
- 第一组:年-(\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"))
推荐阅读
- java - 仅对数组中的偶数进行排序,不要触及赔率
- inno-setup - Inno Setup Disable Next 按钮使用多个验证表达式(当输入值与多个值之一匹配时)
- sql - 替换 blob 中的文本
- java - 如何在 Mirth 中部署具有 HTTP Sender 连接器类型的通道作为目标?
- assembly - 如何识别存储的指令 LC-3
- dart - 飞镖中的NoSuchMethod?
- java - minikube 中损坏的 jar
- javascript - 无法从 db.ref('reference').orderByChild('child').equalTo('value').ref 返回正确的引用;
- android - 具有不同范围的 Dagger 2 碎片
- c - 重复连接和断开操作时 ODBC32.lib 中的内存泄漏