日期时间简单处理

110 阅读1分钟

时间格式处理

        let time = "2019/05/31 00:00:00";   
        let newtime = time.split("/")     //结果是2019,05,31 00:00:00
        let newtime = time.split("/").splice(0, 2)    //结果是2019,05
        let newtime = time.split("/").splice(0,2).join('-');  //结果是2019-05

最近开始使用ant design vue 做admin项目,遇到个需求是选择开始日期和结束日期来计算出中间的日期并形成字符串数组,百度借鉴了几个方法,完整代码👇

    changeDate(date, dateString) {
      this.getAllDate(dateString[0], dateString[1])
    },
   // changeDate 为日期选择框@change方法
    getAllDate(start, end) {
      const format = (time) => {
        let ymd = ''
        let mouth = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1)
        let day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate()
        ymd += time.getFullYear() + '-' // 获取年份。
        ymd += mouth + '-' // 获取月份。
        ymd += day // 获取日。
        return ymd // 返回日期。
      }
      let dateArr = []
      let startArr = start.split('-')
      let endArr = end.split('-')
      let db = new Date()
      db.setUTCFullYear(startArr[0], startArr[1] - 1, startArr[2])
      let de = new Date()
      de.setUTCFullYear(endArr[0], endArr[1] - 1, endArr[2])
      let unixDb = db.getTime()
      let unixDe = de.getTime()
      let stamp
      const oneDay = 24 * 60 * 60 * 1000
      for (stamp = unixDb; stamp <= unixDe; ) {
        dateArr.push(format(new Date(parseInt(stamp))))
        stamp = stamp + oneDay
      }
      console.log(dateArr) // 最终结果
    },