vue js 根據時間開始日期 結束日期 算出中間有多少天,和每天的日期
阿新 • • 發佈:2020-12-16
技術標籤:js vue獲取兩個日期之間的天數和日期jsvue.jsjavascript
// 計算續住的總日期列表 getAll(begin, end) { let arr1 = begin.split("-"); //這裡可以換成/ 就2020/01/1 這種 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, 'YY-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 : '' },
以上是兩個函式用法如下
let timearr = this.getAll(2020-09-07 ,2020-09-13)
console.log(timearr)
如此簡單