【vue】日期加减天数

开发项目的时候碰到个需求,要求某个时间值根据另一个时间值加减天数求得。问了度娘后,找到一种方法。
下次保养日=最近保养日+保养周期
这种方法还能修正平闰年2月、一个月30天还是31天等让人头痛的问题。
vue中代码如下:
【最近保养日】和【保养周期】都是从数据库里取出来的数据,给它俩绑定change事件处理函数deteChange()。

<el-form :model="form"><el-form-item label="最近保养日" prop="maintainTime"><el-date-picker clearable size="small"v-model="form.maintainTime"@change="dateChange"type="datetime"value-format="yyyy-MM-dd HH:mm:ss"placeholder="请选择">el-date-picker>el-form-item><el-form-item label="保养周期" prop="maintainCycle"><el-input v-model="form.maintainCycle" @change="dateChange"placeholder="请输入" size="small" type="number" min="0"/>el-form-item><el-form-item label="下次保养日" prop="nextMaintainTime"><el-date-picker clearable size="small" readonlyv-model="form.nextMaintainTime"type="datetime"value-format="yyyy-MM-dd HH:mm:ss"placeholder="请选择">el-date-picker>el-form-item>
el-form>

js中定义的dateChange()函数代码如下:

dateChange(){let date = new Date(this.form.maintainTime);date = date.getFullYear() + '-' + (date.getMonth()+1) + '-'   // 这里加1是因为getMonth()的返回值是为0~11+ date.getDate() + ' '+ date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();date = Date.parse(new Date(date))/1000; // 转换成时间戳,返回值是ms,除1000后转化成秒date += (86400) * this.form.maintainCycle; // 一天是86400秒let newDate = new Date(parseInt(date) * 1000); // 把时间戳转换成日期this.form.nextMaintainTime = newDate.getFullYear() + '-' + (newDate.getMonth()+1) + '-' + newDate.getDate() + ' '+ newDate.getHours() + ':' + newDate.getMinutes() + ':' + newDate.getSeconds();
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部