vue起始时间终止时间时间间隔

mac2024-09-29  59

页面 <el-col :span="7"> <span>起始日期:</span> <el-date-picker v-model="startTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间"> </el-date-picker> </el-col> <el-col :span="7"> <span>终止日期:</span> <el-date-picker v-model="endTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间"> </el-date-picker> </el-col> <el-col :span="10"> <span>时间间隔:</span> <el-input v-model="intervalTime" style="width: auto"></el-input> <span>时间单位:</span> <el-select style="width: 20%" v-model="unitTime" placeholder="请选择" > <el-option v-for="item in timeData" :key="item.value" :value="item.value" :label="item.label"> </el-option> </el-select> </el-col> 计算 productTarget() { if(this.startTime == null||this.startTime==''||typeof (this.startTime) == undefined){ this.$message.error("请选择起始日期"); return false; } if(this.endTime == null||this.endTime==''||typeof (this.endTime) == undefined){ this.$message.error("请选择终止日期"); return false; } var time1 = new Date(this.startTime).getTime(); var time2 = new Date(this.endTime).getTime(); var addSecond = 0; if(this.unitTime == ''){ this.$message.error("请选择时间单位"); return false; } if(this.unitTime == '分钟'){ addSecond = 1000*60; }else if(this.unitTime == '时'){ addSecond = 1000*60*60; }else if(this.unitTime == '日'){ addSecond = 1000*60*60*24; }else if(this.unitTime == '月'){ addSecond = 1000*60*60*24; }else{ this.$message.error("请选择转换字段"); return false; } if(this.intervalTime == null||this.intervalTime==''||typeof (this.intervalTime) == undefined){ this.$message.error("请填写时间间隔"); return false; } addSecond = addSecond * this.intervalTime; var sub = time2 - time1; if(addSecond>sub){ this.$message.error("时间间隔大于时间短,请修改"); return false; } var flag ; if(time1<time2){ flag = true; }else if(time1>time2){ flag = false; } if(!flag){ this.$message.error("起始时间大于终止时间,请修改"); return false; } this.targetField = []; var xuhao = true; var fieldType = this.dataFields.fieldType; if(this.targetTimeField == ''){ this.$message.error("请选择转换格式:"); return false; }else if(this.targetTimeField == '12'){//序号 xuhao = true; }else{ xuhao = false; } var startIndex = this.startIndex(); var endIndex = this.endIndex(); console.log("startIndex "+JSON.stringify(startIndex)) console.log("endIndex "+JSON.stringify(endIndex)) var target = 0; do { var newTime = this.fortime(time1); if(xuhao){ //序号从零排序 target = target +1; }else { target = newTime.split("-").join("").split(" ").join("").split(":").join(""); target = target.substring(startIndex,endIndex) } let param ={ targetField:this.prefix+target, field:this.dataFields, keyValue:newTime, valueType:fieldType, } this.targetField.push(param) time1 = time1+addSecond; }while (time1<=time2) // console.log("this.targetField "+JSON.stringify(this.targetField)) return true; }, 引用函数 add(m){return m<10?'0'+m:m}, fortime(shijianchuo){ var time = new Date(shijianchuo); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); return y + '-' + this.add(m) + '-' + this.add(d) + ' ' + this.add(h) + ':' + this.add(mm) + ':' + this.add(s); },
最新回复(0)