2011-03-08 27 views

回答

1
// Tue Mar 08 2011 01:32:41 GMT-0800 (PST) 
var today = new Date(); 

var millisecondsIn20Days = 20 * 24 * 60 * 60 * 1000; 
// Wed Feb 16 2011 01:32:41 GMT-0800 (PST) 
var twentyDaysAgo = new Date(today - millisecondsIn20Days); 
2

這是一個辦法做到這一點:

var today = new Date 
    , todayminus7days = new Date(today).setDate(today.getDate()-7); 
console.log(new Date(today)); //=>current date 
console.log(new Date(todayminus7days)); //=>current date minus 7 days 

你也可以建造和使用prototoype.method:

Date.prototype.subtractDays = function(days){ 
    return new Date(this).setDate(this.getDate()-days); 
} 
//usage 
var dateMinus20Days = new Date().subtractDays(20); 
var dateSpecifiedMinus20Days = new Date('2005/10/13').subtractDays(20); 

小時,分鐘,月份等也是如此。

Date.prototype.subtractHours = function(hours){ 
    return new Date(this).setHours(this.getHours()-hours); 
} 
Date.prototype.subtractMonths = function(months){ 
    return new Date(this).setMonth(this.getMonth()-months); 
} 
Date.prototype.subtractMinutes = function(minutes){ 
    return new Date(this).setMinutes(this.getMinutes()-minutes); 
} 
0

article建議用一個明確的功能擴展Date類加減天:

Date.prototype.addDays = function(days) { 
     this.setDate(this.getDate()+days); 
}