vue js实现获取两个日期之间所有日期

https://blog.csdn.net/m0_37852904/article/details/85790793

 

	  // 计算续住的总日期列表
      getAll(begin, end) {
        let arr1= begin.split("/");
        let arr2= end.split("/");
        let arr1_= new Date();
        let arrTime = [];
        arr1_.setUTCFullYear(arr1[0], arr1[1] - 1, arr1[2]);
        let arr2_= new Date();
        arr2_.setUTCFullYear(arr2[0], arr2[1] - 1, arr2[2]);
        let unixDb = arr1_.getTime();
        let unixDe = arr2_.getTime();
        for (let k = unixDb; k <= unixDe;) {
          arrTime.push(this.datetimeparse(k, 'MM/DD'));
          k = k + 24 * 60 * 60 * 1000;
        }
        return arrTime;
      },
      
      // 时间格式处理
      datetimeparse (timestamp, format, prefix) {
          if (typeof timestamp =='string'){
              timestamp=Number(timestamp)
          };
          //转换时区
          let currentZoneTime = new Date (timestamp);
          let currentTimestamp = currentZoneTime.getTime ();
          let offsetZone = currentZoneTime.getTimezoneOffset () / 60;//如果offsetZone>0是西区,西区晚
          let offset = null;
          //客户端时间与服务器时间保持一致,固定北京时间东八区。
          offset = offsetZone + 8;
          currentTimestamp = currentTimestamp + offset * 3600 * 1000

          let newtimestamp = null;
          if (currentTimestamp) {
              if (currentTimestamp.toString ().length === 13) {
                  newtimestamp = currentTimestamp.toString ()
              } else if (currentTimestamp.toString ().length === 10) {
                  newtimestamp = currentTimestamp + '000'
              } else {
                  newtimestamp = null
              }
          } else {
              newtimestamp = null
          }
          ;
          let dateobj = newtimestamp ? new Date (parseInt (newtimestamp)) : new Date ()
          let YYYY = dateobj.getFullYear ()
          let MM = dateobj.getMonth () > 8 ? dateobj.getMonth () + 1 : '0' + (dateobj.getMonth () + 1)
          let DD = dateobj.getDate () > 9 ? dateobj.getDate () : '0' + dateobj.getDate ()
          let HH = dateobj.getHours () > 9 ? dateobj.getHours () : '0' + dateobj.getHours ()
          let mm = dateobj.getMinutes () > 9 ? dateobj.getMinutes () : '0' + dateobj.getMinutes ()
          let ss = dateobj.getSeconds () > 9 ? dateobj.getSeconds () : '0' + dateobj.getSeconds ()
          let output = '';
          let separator = '/'
          if (format) {
              separator = format.match (/-/) ? '-' : '/'
              output += format.match (/yy/i) ? YYYY : ''
              output += format.match (/MM/) ? (output.length ? separator : '') + MM : ''
              output += format.match (/dd/i) ? (output.length ? separator : '') + DD : ''
              output += format.match (/hh/i) ? (output.length ? ' ' : '') + HH : ''
              output += format.match (/mm/) ? (output.length ? ':' : '') + mm : ''
              output += format.match (/ss/i) ? (output.length ? ':' : '') + ss : ''
          } else {
              output += YYYY + separator + MM + separator + DD
          }
          output = prefix ? (prefix + output) : output

          return newtimestamp ? output : ''
      },

	getAll(2019/01/04,2019/01/06)     // 01/04 01/05 01/06

  

posted @ 2019-03-15 11:36  瑞蚨祥qianjin  阅读(3321)  评论(0编辑  收藏  举报