获取当前日期加上指定天数之后的日期

此方法足矣
/**
 * 获取当前日期加上指定天数之后的日期
 * @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),返回日期。

 

 
 

posted @ 2020-03-24 11:28  金晶闪闪放光芒  阅读(1316)  评论(0编辑  收藏  举报