2008-08-28 94 views
14

我需要將Javascript日期減少1天,以便正確回滾到幾個月/年。也就是說,如果我有一個「今日」的日期,我想獲得'昨日'的日期。在Javascript中將日期遞減1天的最簡單方法是什麼?

當我這樣做時,它似乎總是需要更多的代碼,所以我不知道是否有一個簡單的方法。

這樣做的最簡單方法是什麼?

[編輯:只是爲了避免在下面的答案混亂,這是一個的JavaScript問題,而不是Java ONE]

+0

這裏是既可以做遞增和遞減函數: http://stackoverflow.com/a/29199863/4021614 – 2015-03-22 21:11:14

回答

27

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

 
console.log(d);

+4

這將返回錯誤的一天。在UTC -03:00下檢查var d = new Date(2014,9,19) d.setDate(d.getDate() - 1); //將返回10月17日 – 2014-08-04 08:14:21

+1

它也返回錯誤的一年。新日期(新日期()。getDate() - 1)爲我返回1969 – 2015-05-22 15:05:56

5
var today = new Date(); 
var yesterday = new Date().setDate(today.getDate() -1); 
3

getDate()-1應該做的技巧

快速示例:

var day = new Date("January 1 2008"); 
day.setDate(day.getDate() -1); 
alert(day); 
3
origDate = new Date(); 
decrementedDate = new Date(sDate.getTime() - (86400 * 1000)); 

console.log(decrementedDate); 
3
day.setDate(day.getDate() -1); //will be wrong 

這將返回錯誤的一天。下UTC -03:00,檢查

var d = new Date(2014,9,19); 
d.setDate(d.getDate()-1);// will return Oct 17 

更好地利用:

var n = day.getTime(); 
n -= 86400000; 
day = new Date(n); //works fine for everything 
相關問題