碰到一个很烦的需求,设置开始时间,和 时间长度(单位 月),自动计算 结束时间
具体点,开始 2月10 号,时长 2个月, 结束就是 4月 9号
如果时2月1号,结束就是 3月 31号
刚开始没想到什么好办法,都准备按具体的月份设置时间了,很麻烦
setDate() 方法 会根据你设置的值往前往后自动匹配对应的月份
比如,
let date = new Date(2018, 3, 1)
date = new Date(date.setDate(15)) // 2018-3-15
date = new Date(date.setDate(0)) // 2018-2-28
date = new Date(date.setDate(-1)) // 2018-2-27
date = new Date(date.setDate(32)) // 2018-4-1
所以 上面的问题就变成了
computed: {
endDate: {
get() {
if (!this.form.guaranteeStartDate || !this.form.guaranteePeriod) return ''
let date = new Date(this.form.guaranteeStartDate)
date = date.setMonth(date.getMonth() + Number(this.form.guaranteePeriod))
let day = new Date(date).getDate()
return new Date(date).setDate(--day)
},
set() {}
}
},
网友评论