js中比较字符串类型的日期,获取时间范围内的取值

Mock模拟时间数据,表单传开始时间和结束时间和mock中的时间比较获取时间范围内的数据

import Mock from 'mockjs'

let Random = Mock.Random;

let maints = new Map();
//mock随机获取时间   
 let maint = {
    id: idGenerator(),
    fTime: Random.date('yyyy-MM-dd'),
  
  }
  maints.set(main.id, main);
}
function CompareDate (d1, d2) {
  /* d1 = "2019-11-16"
  d2 = "2019-12-16" */

  //将所有的短横线替换为斜杠

  return ((new Date(d1.replace(/-/, "/"))) > (new Date(d2.replace(/-/, "/"))));
}

首先判断默认不为空,然后判断时间范围,因为数据都是在mock中的,就逐条遍历判断

body.fTime是表单传过来的一个时间数组

function getTable () {
  Mock.mock('/table', 'get', (options) => {
    let body = JSON.parse(options.body);
    let result = [];
    for (let maint of mains.values()) {
      if (!body.fTime || CompareDate(main.fTime, body.fTime[0]) && CompareDate(body.fTime[1], main.fTime)) {
        result.push(maint);
      }
    }


  })
}

猜你喜欢

转载自blog.csdn.net/wang0112233/article/details/103528841