有人可以帮我解决日期格式吗?
我尝试过new Date(NumberValue)
,但是返回了无效日期
MockServer:
"NumberValue": "2.018081E7"
格式化程序:
if(ValueType === "D"){
return parseFloat(NumberValue);
答案 0 :(得分:2)
您可以使用正则表达式将日期字符串分成年,月,日,然后将其传递给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()
仅返回一个数组,以便可以使用索引来达到相同的效果:
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
答案 1 :(得分:0)
您可以实现使用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>