将这种数据格式解析为新格式?

时间:2018-12-25 14:47:15

标签: reactjs react-native momentjs

我有一种返回日期的格式,我需要将其解析为其他一些我觉得有点复杂的东西。

数据格式例如是Mon Dec 24 2018 9:00:00,例如startDate,例如是Friday Dec 28 2018 17:00:00,例如endTime。这里发生的是,我选择我希望某人在星期一的每天9点至17点开始工作,但是我的数据使他看起来好像不停地工作。

我尝试过将其映射,并将其放在一周中的几天以及开始和结束时间放置到对象上,但是我遇到了一个问题,因为我创建的对象类似

dates : {
    monday: {
        start: 9:00,
        end: 18:00
    },
    tuesday: {
        start:9:00,
        end:18:00
    }
// etc for everyday of the week
}

但是,例如,如果我只需要星期一至星期四,那会是个问题。任何人都有任何想法,我该如何以其他方式做到这一点?我当时正在考虑使用moment.js

1 个答案:

答案 0 :(得分:0)

我不确定是否理解您的问题,但是我想您要列出两个不同日期之间的所有日期,这是一个使用moment.isSameOrBefore和{{3}进行迭代的函数示例}函数,希望有帮助:

$('#submit').removeAttr('disabled');
  function toDays(startDateString, endDateString) {

    const startDate = moment(startDateString, 'dddd MMM DD YYYY');
    const endDate = moment(endDateString, 'dddd MMM DD YYYY');

    const dates = {};

    while(startDate.isSameOrBefore(endDate, 'day')) {
       const currentDay = startDate.format('dddd');
       dates[currentDay] = {start:'9:00', end:'18:00'};
       startDate.add(1, 'days');
    }

    return dates;

  }


  const result = toDays('Monday Dec 24 2018', 'Friday Dec 28 2018');

  console.log(result);