获取当前日期前30天的日期



我试图从当前日期减去30天,但我总是收到一个负数对天的值。最重要的是返回日期的格式,必须是YYYY-MM-DD

我知道也有类似的问题,但我找不到解决办法。

这就是我到目前为止所做的。。

  var date = new Date();
  var dd = date.getDate()-30;
  var mm = date.getMonth()+1;
  var yyyy = date.getFullYear();
  if(dd<10){
    dd='0'+dd
  } 
  if(mm<10){
    mm='0'+mm
  } 
  var dateTo = yyyy+'-'+mm+'-'+dd;

上面的代码将返回今天日期的2016-07--10,而不是2016-07-21

因为您正在从一个与日期对象没有连接的数字中减去。改变它只会改变数字。你需要从日期中减去天数。

var today = new Date();
var past30 = new Date();
past30.setDate(today.getDate()-30);
console.log(past30);

var d = new Date();
d.setDate(d.getDate()-30);
d = d.toISOString().slice(0,10);

最新更新