获取当前日期加上指定天数之后的日期
此方法足矣
/** * 获取当前日期加上指定天数之后的日期 * @param {String} time 日期格式为2020-03-19 * @param {Number} days 指定天数 * @result {String} 日期格式为2020年03月19日 */ Vue.prototype.getNewData = function (time, days) { if (days === undefined || days === '') { days = 1; } let date = new Date(time); date.setDate(date.getDate() + days); let month = date.getMonth() + 1; let day = date.getDate(); return date.getFullYear() + '年' + ('0'+ month).slice(-2) + '月' + ('0'+ day).slice(-2) + '日'; }
以下方法ios手机不兼容
Math.abs()函数参数如果是时间对象,可以将其转换为时间戳。
1 function getNewDay(dateTemp, days) { 2 var dateTemp = dateTemp.split("-"); 3 //转换为MM-DD-YYYY格式 4 var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]); 5 var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000); 6 var rDate = new Date(millSeconds); 7 var year = rDate.getFullYear(); 8 var month = rDate.getMonth() + 1; 9 if (month < 10) month = "0" + month; 10 var date = rDate.getDate(); 11 if (date < 10) date = "0" + date; 12 return (year + "-" + month + "-" + date); 13 } 14 console.log(getNewDay("2016-2-28",6)) 15 16 17 18 (1).function getNewDay(dateTemp, days) {},第一个参数是日期,第二个参数是要添加的天数。 19 (2).var dateTemp = dateTemp.split("-"),将传过来的日期用-进行分割,生成一个数组。 20 (3).var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]),生成一个时间对象,构造函数的参数是将日期转换成MM-DD-YYYY格式,以实现兼容性。 21 (4).var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000),转换为时间戳,Math.abs()函数参数如果是时间对象,可以将其转换为时间戳。 22 (5).var rDate = new Date(millSeconds),通过时间戳,转换时间对象。 23 (6).var year = rDate.getFullYear(),获取年份。 24 (7).var month = rDate.getMonth() + 1,获取月份,之所以加1,因为getMonth()函数获取的月份比咱们普通意义上的月份值少1。 25 (8).if (month < 10) month = "0" + month,如果月份是单数,那么在前面加0。 26 (9).var date = rDate.getDate(),获取天。 27 (10).if (date < 10) date = "0" + date,如果天是个位数,那么前面添加0. 28 (11).return (year + "-" + month + "-" + date),返回日期。