从日期我只想在javascript / angularjs中减去1天

问题描述 投票:7回答:3

在新的Date()的帮助下我如何实现这一目标。我的代码:

var temp =new Date("October 13, 2014 22:34:17");
console.log(new Date(temp-1));

需求:

before: Aug 4, 2014 11:59pm (EDT)
after:   Aug 3, 2014 11:59pm (EDT)
javascript angularjs-directive
3个回答
28
投票

您需要指定减去的时间量。目前它的1,但1什么?因此,尝试使用getDate()获取日期,然后从中减去,然后使用setDate()设置日期。

EG

var temp = new Date("October 13, 2014 22:34:17");
temp.setDate(temp.getDate()-1);

8
投票

简单的答案是你要从中减去几毫秒的天数。如下所示

var today = new Date('October 13, 2014 22:34:17');
var yesterday = new Date(today.getTime() - (24*60*60*1000));
console.log(yesterday);

这样做的问题在于,这确实提前24小时提供给您,由于夏令时的变化等原因,这并不总是提前一天。如果这是你想要的,那很好。如果你想要更复杂的东西,请查看moment.js


0
投票

您可以简单地从今天的日期减去一天,如下所示:

var yesterday = new Date(new Date().setDate(new Date().getDate()-1));
© www.soinside.com 2019 - 2024. All rights reserved.