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

此方法足矣

/**

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

* @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),返回日期。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容