此方法足矣
/**
* 獲取當(dāng)前日期加上指定天數(shù)之后的日期
* @param {String} time? ? 日期格式為2020-03-19
* @param {Number} days? ? 指定天數(shù)
* @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();
? ? returndate.getFullYear() + '年' + ('0'+ month).slice(-2) + '月' + ('0'+ day).slice(-2) + '日';
}
以下方法ios手機(jī)不兼容
Math.abs()函數(shù)參數(shù)如果是時(shí)間對象,可以將其轉(zhuǎn)換為時(shí)間戳。
function getNewDay(dateTemp, days) {
? var dateTemp = dateTemp.split("-");
? //轉(zhuǎn)換為MM-DD-YYYY格式? ?
? var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]);
? var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000);
? var rDate = new Date(millSeconds);
? var year = rDate.getFullYear();
? var month = rDate.getMonth() + 1;
? if (month < 10) month = "0" + month;
? var date = rDate.getDate();
? if (date < 10) date = "0" + date;
? return (year + "-" + month + "-" + date);
}
console.log(getNewDay("2016-2-28",6))
(1).function getNewDay(dateTemp, days) {},第一個(gè)參數(shù)是日期,第二個(gè)參數(shù)是要添加的天數(shù)。
(2).var dateTemp = dateTemp.split("-"),將傳過來的日期用-進(jìn)行分割,生成一個(gè)數(shù)組。
(3).var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]),生成一個(gè)時(shí)間對象,構(gòu)造函數(shù)的參數(shù)是將日期轉(zhuǎn)換成MM-DD-YYYY格式,以實(shí)現(xiàn)兼容性。
(4).var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000),轉(zhuǎn)換為時(shí)間戳,Math.abs()函數(shù)參數(shù)如果是時(shí)間對象,可以將其轉(zhuǎn)換為時(shí)間戳。
(5).var rDate = new Date(millSeconds),通過時(shí)間戳,轉(zhuǎn)換時(shí)間對象。
(6).var year = rDate.getFullYear(),獲取年份。
(7).var month = rDate.getMonth() + 1,獲取月份,之所以加1,因?yàn)間etMonth()函數(shù)獲取的月份比咱們普通意義上的月份值少1。
(8).if (month < 10) month = "0" + month,如果月份是單數(shù),那么在前面加0。
(9).var date = rDate.getDate(),獲取天。
(10).if (date < 10) date = "0" + date,如果天是個(gè)位數(shù),那么前面添加0.
(11).return (year + "-" + month + "-" + date),返回日期。