Javascript 如何从json输出计算空闲可用时间?
我在对象中有这种带有开始和结束时间属性的jsonJavascript 如何从json输出计算空闲可用时间?,javascript,Javascript,我在对象中有这种带有开始和结束时间属性的json var meetings = [ { id: '1', start_time: "2020-11-15T08:30:00+00:00", end_time: "2020-11-15T14:15:00+00:00" }, { id: '2', start_time: "2020-11-15T19:30:00+00:00", end
var meetings = [
{
id: '1',
start_time: "2020-11-15T08:30:00+00:00",
end_time: "2020-11-15T14:15:00+00:00"
},
{
id: '2',
start_time: "2020-11-15T19:30:00+00:00",
end_time: "2020-11-15T20:30:00+00:00"
},
];
两次会议第一次:08:30-14:15第二次:19:30-20:30
工作时间为24小时,因此:
start_time = '00:00:00';
end_time = '23:59:00';
但我需要的格式是
var start_time = '2020-11-15T00:00:00+00:00';
var end_time = '2020-11-15T23:59:00+00:00';
如何根据已完成的会议计算可用时间?
因为第一次会议是08:30-14:15,第二次会议是19:30-20:30,所以我需要json,在可用时间内有以下结果:
[
{
start_time:'2020-11-15T00:00:00+00:00',
end_time:'2020-11-15T08:30:00+00:00'
},
{
start_time:'2020-11-15T14:15:00+00:00',
end_time:'2020-11-15T19:30:00+00:00'
},
{
start_time:'2020-11-15T20:30:00+00:00',
end_time:'2020-11-15T23:59:00+00:00'
}
]
您可以这样做:
var会议=[
{
id:'1',
开始时间:“2020-11-15T08:30:00+00:00”,
结束时间:“2020-11-15T14:15:00+00:00”
},
{
id:'2',
开始时间:“2020-11-15T19:30:00+00:00”,
结束时间:“2020-11-15T20:30:00+00:00”
},
{
id:'3',
开始时间:“2020-11-15T20:50:00+00:00”,
结束时间:“2020-11-15T21:30:00+00:00”
},
{
id:'4',
开始时间:“2020-11-15T22:30:00+00:00”,
结束时间:“2020-11-15T22:40:00+00:00”
},
];
var startTime='2020-11-15T00:00:00+00:00';
变量结束时间='2020-11-15T23:59:00+00:00';
设可用小时=[];
for(让索引进入会议){
如果(索引!=meetings.length-1){
索引==0?可用小时数。推送({开始时间:开始时间,结束时间:会议[索引]['开始时间]]}):0;
可用小时数。推送({开始时间:会议[索引]。结束时间,结束时间:会议[+index+1]['开始时间']});
}否则{
可用小时数。推送({start\u time:meetings[index].end\u time,end\u time:endTime})
}
}
控制台日志(会议)
console.log(可用时数)
您可以执行以下操作:
var会议=[
{
id:'1',
开始时间:“2020-11-15T08:30:00+00:00”,
结束时间:“2020-11-15T14:15:00+00:00”
},
{
id:'2',
开始时间:“2020-11-15T19:30:00+00:00”,
结束时间:“2020-11-15T20:30:00+00:00”
},
{
id:'3',
开始时间:“2020-11-15T20:50:00+00:00”,
结束时间:“2020-11-15T21:30:00+00:00”
},
{
id:'4',
开始时间:“2020-11-15T22:30:00+00:00”,
结束时间:“2020-11-15T22:40:00+00:00”
},
];
var startTime='2020-11-15T00:00:00+00:00';
变量结束时间='2020-11-15T23:59:00+00:00';
设可用小时=[];
for(让索引进入会议){
如果(索引!=meetings.length-1){
索引==0?可用小时数。推送({开始时间:开始时间,结束时间:会议[索引]['开始时间]]}):0;
可用小时数。推送({开始时间:会议[索引]。结束时间,结束时间:会议[+index+1]['开始时间']});
}否则{
可用小时数。推送({start\u time:meetings[index].end\u time,end\u time:endTime})
}
}
控制台日志(会议)
console.log(可用时数)
感谢您的回复。但是14:15到19:30的时间不包括在内。您能否提供新的代码示例以及该案例,对于所有小时代码更新,都已完成。祝你的项目好运!谢谢你的回复。但是从14:15到19:30的时间不包括在内。你能提供新的代码示例吗?同样,对于所有的小时代码更新,都完成了。祝你的项目好运!