【发布时间】:2020-10-08 20:28:46
【问题描述】:
我有以下格式的日期数据
2020-10-07 05:21:15。
我想将其转换为 Wed,7 Oct'20 -05:21pm。
我尝试了正则表达式
(new Date(2020-10-07 05:21:15)).toString().replace(/\S+\s(\S+)\s(\d+)\s(\d+)\s.*/,'$1 $2,$3')
但我得到了输出Oct7,2020,
谁能帮我用javascript或正则表达式格式化它。
【问题讨论】:
-
(new Date('2020-10-07 05:21:15')).toString().replace(/\S+\s(\S+)\s(\d+)\s(\d+)\s.*/,'$1 $2,$3')为我解析为Oct 07,2020 -
使用 moment js 满足您所有的日期时间需求
-
你可以用这个得到一些接近的东西:
new Intl.DateTimeFormat('en-GB', {weekday: 'short', year: '2-digit', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: true}).format(new Date())但这不是你的精确格式。如果您需要它,请考虑从组成部分自己构建它。 -
请不要使用内置解析器,特别是对于不受支持的格式,请参阅Why does Date.parse give incorrect results?。至少在 Safari 中,
new Date('2020-10-07 05:21:15')会产生一个无效的日期。
标签: javascript regex date