zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)
    ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline Part I
    IIS Server Variables(IIS 服务器变量)
    .Net源码之Page类(二)
    博客改变生活
    目录、路径、虚拟路径
    Windows 7 Beta 1 7000
    《Visual Studio Hacks 》读书笔记 (十二)
    新建XML文件
    另一个分页函数
  • 原文地址:https://www.cnblogs.com/qianjin888/p/10536002.html
Copyright © 2011-2022 走看看