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

时间:2016-07-20 13:28:26

标签: javascript date

我尝试将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 for today date而不是2016-07-21

2 个答案:

答案 0 :(得分:5)

因为您要从与日期对象没有连接的数字中减去。改变它只会改变数量。您需要从日期本身中减去天数。

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

答案 1 :(得分:0)

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