// 處理日期算法 dateTemp 為日期時間 days為天數 天數加上日期時間的計算方法 getNewData(dateTemp, days) { var dateTemp = dateTemp.split("-"); var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]); //轉換為MM-DD-YYYY格式 var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000); var rDate = new Date(millSeconds); var year = rDate.getFullYear(); var month = rDate.getMonth() + 1; if (month < 10) month = "0" + month; var date = rDate.getDate(); if (date < 10) date = "0" + date; return (year + "-" + month + "-" + date); },
以下為實際調用寫法 可供參考
// 處理日期算法 getNewData(dateTemp, days) { var dateTemp = dateTemp.split("-"); var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]); //轉換為MM-DD-YYYY格式 var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000); var rDate = new Date(millSeconds); var year = rDate.getFullYear(); var month = rDate.getMonth() + 1; if (month < 10) month = "0" + month; var date = rDate.getDate(); if (date < 10) date = "0" + date; return (year + "-" + month + "-" + date); }, // 報停開始 bindConfirm_start(e) { console.log(e,"這里"); this.starting_time = e.key; if(this.value && this.starting_time){ this.getNewData(this.starting_time,this.value) // console.log(this.getNewData(this.starting_time,this.value)) 報停結束時間等於報停開始時間加上報停天數
this.end_time=this.getNewData(this.starting_time,this.value) } this.is_show++ },
兩個日期之間的運算
// date1 2020-10-15 date2 2020-10-10 GetNumberOfDays(date1,date2){//獲得天數 //date1:開始日期,date2結束日期 var a1 = Date.parse(new Date(date1)); var a2 = Date.parse(new Date(date2)); var day = parseInt((date2-date1)/ (1000 * 60 * 60 * 24));//核心:時間戳相減,然后除以天數 return day },
調用函數 輸出天數
onLoad() { uni.startPullDownRefresh(); this.pendingList() this.GetNumberOfDays(2020-10-15,2020-10-10) console.log(this.GetNumberOfDays(2020-10-15,2020-10-10)) //5 },