下面是我通过动态数据获取的JSON格式
{"range":["2018-07-23T16:03:26.861Z","2018-07-23T16:03:26.861Z"]}
以及如何将其转换为以下格式
range(20180723,20180723)
下面是我的代码:
var data:Date[] = {"range":["2018-07-23T16:03:26.861Z","2018-07-23T16:03:26.861Z"]}
for(let i=0;i<=data.range.length;i++){
console.log(,data.range[i]);
}
答案 0 :(得分:1)
根据我的意思,我将对此进行破解。
因此,为了使我们将字符串日期转换为格式,您希望我们可以采用多种方法。最简单的方法是使用moment.js或date.js之类的库。这些库可以接受2018-07-23T16:03:26.861Z
之类的输入,并将它们转换为Date
对象。然后,您可以使用date对象获取相关值,例如;
const dateString = "2018-07-23T16:03:26.861Z";
let dateObject = moment(dateString, "YYY-MM-DDTHH:mm:ssZ").toDate();
let finalDateString = dateObject.getFullYear().toString()+dateObject.getMonth().toString()+dateObject.getDays().toString();
您可以通过他们的docs中的moment.js库详细了解如何实现此目标。
或者,您也可以在T
处分割日期字符串,并替换第一个数组项中现在包含的-
来实现此目的;
const dateString = "2018-07-23T16:03:26.861Z";
const outputDateString = dateString.split("T")[0].replace(/-/g,"");
如果您有兴趣,可以阅读有关String.prototype.split()
here的更多信息,以及有关String.prototype.replace()
here的更多信息。
这两种方法都行得通,并且可以在您已经存在的for循环中轻松实现,例如
let data = {"range":["2018-07-23T16:03:26.861Z","2018-07-23T16:03:26.861Z"]}
let output = "range("
for(let i=0;i<=data.range.length;i++){
output += data.range[i].split("T")[0].replace(/-/g,"")+(i===0 ? "," : ")");
}
console.log(range) //"range(20180723,20180723)"
答案 1 :(得分:1)
尝试以下操作:
var obj = {"range":["2018-07-23T16:03:26.861Z","2018-07-23T16:03:26.861Z"]};
for(var k in obj){
var str = '';
var temp = obj[k].map(d => {
var m = (new Date(d).getMonth()+1) <= 9? '0' + (new Date(d).getMonth()+1):''+(new Date(d).getMonth()+1);
d = new Date(d).getFullYear().toString() + m + new Date(d).getDate();
return d;
});
str = k + '(' + temp.join(',') + ')';
console.log(str);
}
答案 2 :(得分:0)
在T上分割,使用第一部分,删除破折号。将是一种方法
答案 3 :(得分:0)
您可以通过require_once plugin_dir_path( dirname( __FILE__ ) ) . 'widgets/models/Test.php';
也许您想要这样的东西:
data.range[i].split("T")[0].replace(/-/g,'')
答案 4 :(得分:0)
如果我正确理解了您的要求,那么这个小片段将使用您现有的代码块来完成您的工作。您只需要使用split()将日期时间值除以T
并使用replace()
-
var data = {"range":["2018-07-22T15:03:26.861Z","2018-07-23T16:03:26.861Z"]}
var expected =[];
for(var i=0;i<data.range.length;i++){
expected.push(data.range[i].split('T')[0].replace(/-/g,""))
}
console.log('range('+ expected.join(',') +')');