Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日期格式从(20180810)到(2018年8月10日)_Javascript_Xml_Odata_Sapui5 - Fatal编程技术网

Javascript 日期格式从(20180810)到(2018年8月10日)

Javascript 日期格式从(20180810)到(2018年8月10日),javascript,xml,odata,sapui5,Javascript,Xml,Odata,Sapui5,有人能帮我确定日期格式吗 我尝试了新日期(NumberValue)但返回的日期无效 模拟服务器: "NumberValue": "2.018081E7" 格式化程序: if(ValueType === "D"){ return parseFloat(NumberValue); 你可以利用它 var-val=parseFloat(2.018081E7); 变量日期=时刻(val,'YYYYMMDD')。格式('DD-MMM-YYYY'); conso

有人能帮我确定日期格式吗

我尝试了
新日期(NumberValue)
但返回的日期无效

模拟服务器:

"NumberValue": "2.018081E7"
格式化程序:

 if(ValueType === "D"){
                    return parseFloat(NumberValue);
你可以利用它

var-val=parseFloat(2.018081E7);
变量日期=时刻(val,'YYYYMMDD')。格式('DD-MMM-YYYY');
console.log(日期)

您可以使用正则表达式将日期字符串拆分为年、月、日,然后将其传递到
新日期()

const s='20180810'
常数rx=/(\d{4})(\d{2})(\d{2})/
设[u,Y,M,D]=s.match(rx)

console.log(new Date(Y,M-1,D))//月份是零索引的
我还是新手,我应该把@userfrh放在哪里供您参考@userfrh
“NumberValue”
属性似乎不是
Edm.DateTime
(OData V2)或
Edm.Date
(OData V4)类型。首先,请确保所有包含日期值的属性都有一个合适的EDM类型。嘿,谢谢,当我使用ES6时,它确实有效。但不幸的是,我使用的是Javascript ES5.let[u,Y,M,D]=s.match(rx)这段代码不知何故不适合我。我检查过,它声明s.match不是一个函数。@userfrh
match()
只返回一个数组,所以您可以将它保存为数组并索引到其中。请参见edit.s.match仍然显示为非函数。我尝试执行var rx=newregexp('/(\d{4})(\d{2})(\d{2})/');也像这样。奇怪的是@userfrh
match()
已经存在很长时间了——我想是ECMAScript 3。你确定你是从字符串开始的吗。是否可能
20180810
是一个数字或
s
未定义?