我尝试将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
答案 0 :(得分:5)
因为您要从与日期对象没有连接的数字中减去。改变它只会改变数量。您需要从日期本身中减去天数。
var today = new Date();
var past30 = new Date();
past30.setDate(today.getDate()-30);
console.log(past30);
&#13;
答案 1 :(得分:0)
var d = new Date();
d.setDate(d.getDate()-30);
d = d.toISOString().slice(0,10);