我试图从当前日期减去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);