我正在开发报告系统。
在我的报告系统中,我将自动加上截至选择日期的日期。
我使用了以下Javascript代码段。



function add_date(curdate, days) {

  //curdate format : "yyyy-mm-dd"
  var newdate = new Date(curdate);

  newdate.setDate(newdate.getDate() + days);

  var dd = newdate.getDate();
  var mm = newdate.getMonth() + 1;
  var y = newdate.getFullYear();

  if(dd < 10)
    dd = '0' + dd;
  if(mm < 10)
    mm = '0' + mm;

  var someFormattedDate = y + '-' + mm + '-' + dd;
  return someFormattedDate;

}





该功能在几乎所有平台和浏览器上都可以正常使用。
但是在特定的平台或浏览器(如iPhone Safari和Windows 8.1)上,我得到了不同的结果。
如果我再加上3天,我可以得到加上2天的结果。
我在计算机,iPhone和browserstack.com上进行了测试。
希望得到您的帮助。
谢谢。

最佳答案

我想您最好的选择是查看Moment.js

但是您可以尝试这样的事情...

// add 5 days
console.log(add_date('2016-02-18T15:53:02Z', 5));

function add_date(curdate, days) {
    var newdate = new Date(curdate);

    // add number of days
    return new Date(newdate.getTime() + ((24 * 60 * 60 * 1000) * days));
}

关于javascript - JavaScript日期加上几天的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35492041/

10-11 10:53