getDate(days)函数
days为时间间隔的天数,+代表今日往后计算;-代表今日往前计算。
function getDate(days) { //定义今日标准时间; var d = new Date(); var nowYear = d.getFullYear().toString();//今年 var nowMonth = timeAdd0((d.getMonth() + 1).toString());//当月 var nowDay = timeAdd0(d.getDate().toString());//当日 var now = nowYear + "-" + nowMonth + "-" + nowDay;//今日标准时间; 2020-09-02 //日期计算; var startDate = new Date(Date.parse(now.replace(/-/g, '/'))); //将开始时间由字符串格式转换为日期格式 var value = startDate.getTime(); //将开始时间转为毫秒 value += days * (24 * 3600 * 1000); //将天数转换成毫秒后与开始时间相加得到结束时间的毫秒数 var d2 = new Date(value); //将得到的毫秒数转换为日期 var nowYear2 = d2.getFullYear().toString();//今年 var nowMonth2 = timeAdd0((d2.getMonth() + 1).toString());//当月 var nowDay2 = timeAdd0(d2.getDate().toString());//当日 var endDate = nowYear2 + "-" + nowMonth2 + "-" + nowDay2; return endDate; } //补齐十位数; function timeAdd0(str) { if (str.length <= 1) { str = '0' + str; } return str }
调用
console.log(getDate("-30"));
Done!