为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 json 输出计算可用时间?

如何从 json 输出计算可用时间?

largeQ 2023-05-25 16:37:41
我在对象中有这种带有开始和结束时间属性的 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_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'  }]
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

你可以这样做:


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"

  },

  {

    id: '3',

    start_time: "2020-11-15T20:50:00+00:00",

    end_time: "2020-11-15T21:30:00+00:00"

  },

  {

    id: '4',

    start_time: "2020-11-15T22:30:00+00:00",

    end_time: "2020-11-15T22:40:00+00:00"

  },


];


var startTime = '2020-11-15T00:00:00+00:00';

var endTime = '2020-11-15T23:59:00+00:00';




let availableHours = [];


for(let index in meetings){

    if(index != meetings.length - 1){

        index == 0 ? availableHours.push({start_time: startTime, end_time: meetings[index]['start_time'] }) : 0;

        availableHours.push({start_time: meetings[index].end_time, end_time: meetings[+index + 1]['start_time'] });

    } else {

        availableHours.push({start_time: meetings[index].end_time, end_time: endTime })

    }    

}


console.log(meetings)

console.log(availableHours)


查看完整回答
反对 回复 2023-05-25
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信