在新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)
答案 0 :(得分:27)
您需要指定减去的时间。目前它的1,但1什么?因此,请尝试使用getDate()
获取日期,然后从中减去日期,然后使用setDate()
设置日期。
E.g。
var temp = new Date("October 13, 2014 22:34:17");
temp.setDate(temp.getDate()-1);
答案 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
答案 2 :(得分:0)
您可以像这样从今天开始减去一天:
var yesterday = new Date(new Date().setDate(new Date().getDate()-1));