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


当前回答

var today = new Date(); var yesterday1 =新日期(新日期()。setDate(new Date().getDate() - 1)); var yesterday2 =新的日期(Date.now() - 86400000); var yesterday3 = new Date(Date.now() - 1000*60*60*24); var yesterday4 = new Date((new Date()).valueOf() - 1000*60*60*24); 今天console.log(“:“今天+); 昨天console.log(“:”+ yesterday1); 昨天console.log(“:”+ yesterday2); 昨天console.log(“:”+ yesterday3); 昨天console.log(“:”+ yesterday4);

其他回答

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

在你的情况下:

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

这将产生昨天零点的分钟精确

var d = new Date();
d.setDate(d.getDate() - 1);
d.setTime(d.getTime()-d.getHours()*3600*1000-d.getMinutes()*60*1000);

为了概括问题并使用其他差异计算:

var yesterday = new Date((new Date()).valueOf() - 1000*60*60*24);

这将创建一个基于“now”值的新date对象,该值为整数,表示Unix epoch(单位为毫秒减去一天)。

两天前:

var twoDaysAgo = new Date((new Date()).valueOf() - 1000*60*60*24*2);

一小时前:

var oneHourAgo = new Date((new Date()).valueOf() - 1000*60*60);
new Date(new Date().setDate(new Date().getDate()-1))
d.setHours(0,0,0,0);

会成功的