此方法足矣
/**
* 获取当前日期加上指定天数之后的日期
* @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();
returndate.getFullYear() + '年' + ('0'+ month).slice(-2) + '月' + ('0'+ day).slice(-2) + '日';
}
以下方法ios手机不兼容
Math.abs()函数参数如果是时间对象,可以将其转换为时间戳。
function getNewDay(dateTemp, days) {
var dateTemp = dateTemp.split("-");
//转换为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) {},第一个参数是日期,第二个参数是要添加的天数。
(2).var dateTemp = dateTemp.split("-"),将传过来的日期用-进行分割,生成一个数组。
(3).var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]),生成一个时间对象,构造函数的参数是将日期转换成MM-DD-YYYY格式,以实现兼容性。
(4).var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000),转换为时间戳,Math.abs()函数参数如果是时间对象,可以将其转换为时间戳。
(5).var rDate = new Date(millSeconds),通过时间戳,转换时间对象。
(6).var year = rDate.getFullYear(),获取年份。
(7).var month = rDate.getMonth() + 1,获取月份,之所以加1,因为getMonth()函数获取的月份比咱们普通意义上的月份值少1。
(8).if (month < 10) month = "0" + month,如果月份是单数,那么在前面加0。
(9).var date = rDate.getDate(),获取天。
(10).if (date < 10) date = "0" + date,如果天是个位数,那么前面添加0.
(11).return (year + "-" + month + "-" + date),返回日期。
网友评论