篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js在当前日期基础上,加1天 3天 7天 15天相关的知识,希望对你有一定的参考价值。
需求 点击保障期的天数 根据起始时间算出结束时间
代码
//点击保障期触发的方法
periodChange(val,id){
this.activeNumperiod=val
this.submitData.endDate=this.getNextDay(this.submitData.startDate,id)+\' 00:00:00\' //调用格式化日期的方法,将开始时间和要加的天数传进去
},
getNextDay(d,t){
console.log(d,t)//格式为---2019-02-13 3
d = new Date(d);
console.log(d)//格式为---Wed Feb 13 2019 08:00:00 GMT+0800 (中国标准时间)
d = +d + (1000*60*60*24)*t;
console.log(d)//格式为--时间戳1550275200000
d = new Date(d);
console.log(d)//格式为---Sat Feb 16 2019 08:00:00 GMT+0800 (中国标准时间)
return new Date(d).format("yyyy-MM-dd") //格式为"2019-02-16 00:00:00"
},
补充
// 为Date原型添加时间格式化方法
Date.prototype.format = function (fmt) {
let o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
}
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))
}
for (let k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
}
}
return fmt
}