如何在JavaScript中计算昨天作为日期?


当前回答

"Date.now() - 86400000"在夏令时结束日(当天有25小时)不起作用

另一个选择是使用Closure:

var d = new goog.date.Date();
d.add(new goog.date.Interval(0, 0, -1));

其他回答

我使用矩库,它非常灵活,易于使用。

在你的情况下:

let yesterday = moment().subtract(1, 'day').toDate();

解决边界日期问题(2020,01,01)-> 2019,12,31

var now = new Date();
return new Date(now.getMonth() - 1 === 0 ? now.getFullYear() - 1 : now.getFullYear(),
                now.getDate() - 1 === 0 ? now.getMonth() - 1: now.getMonth(),
                now.getDate() - 1);

试试这个

var d = new Date();
d.setDate(d.getDate() - 1);
d.setHours(0,0,0,0);

会成功的

//Create a date object using the current time
var now = new Date();

//Subtract one day from it
now.setDate(now.getDate()-1);