日期格式从 (20180810) 到 (10 Aug 2018)
Date Format from (20180810) to (10 Aug 2018)
谁能帮我解决日期格式问题?
我已尝试 new Date(NumberValue)
但返回无效日期
模拟服务器:
"NumberValue": "2.018081E7"
格式化程序:
if(ValueType === "D"){
return parseFloat(NumberValue);
你可以实现使用moment.js
var val = parseFloat(2.018081E7);
var date = moment(val,'YYYYMMDD').format('DD MMM YYYY');
console.log(date)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
您可以使用正则表达式将日期字符串拆分为年、月、日,然后您可以将其传递给 new Date()
const s = '20180810'
const rx = /(\d{4})(\d{2})(\d{2})/
let [_, Y, M, D] = s.match(rx)
console.log(new Date(Y, M - 1 , D)) // month is zero indexed
根据评论编辑:
如果你可以使用解构 — match()
只需 returns 一个数组,这样你就可以使用索引来达到同样的效果:
var s = '20180810'
var rx = /(\d{4})(\d{2})(\d{2})/
var m = s.match(rx)
console.log(new Date(m[1], m[2] - 1, m[3])) // month is zero indexed
谁能帮我解决日期格式问题?
我已尝试 new Date(NumberValue)
但返回无效日期
模拟服务器:
"NumberValue": "2.018081E7"
格式化程序:
if(ValueType === "D"){
return parseFloat(NumberValue);
你可以实现使用moment.js
var val = parseFloat(2.018081E7);
var date = moment(val,'YYYYMMDD').format('DD MMM YYYY');
console.log(date)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
您可以使用正则表达式将日期字符串拆分为年、月、日,然后您可以将其传递给 new Date()
const s = '20180810'
const rx = /(\d{4})(\d{2})(\d{2})/
let [_, Y, M, D] = s.match(rx)
console.log(new Date(Y, M - 1 , D)) // month is zero indexed
根据评论编辑:
如果你可以使用解构 — match()
只需 returns 一个数组,这样你就可以使用索引来达到同样的效果:
var s = '20180810'
var rx = /(\d{4})(\d{2})(\d{2})/
var m = s.match(rx)
console.log(new Date(m[1], m[2] - 1, m[3])) // month is zero indexed