2013-05-17 230 views

回答

2

只是減去他們

var today = new Date(), 
    test = new Date(dateString); 

if (today - test > (7 * 24 * 60 * 60 * 1000)) { // time is in milliseconds 
    console.log('more than a week ago'); 
} 
0

剛剛開始使用日期字符串Date對象,並與今天的

var d1 = new Date("Mon May 10 11:20:46 EDT 2013"); 
alert((new Date()) - d1 >= (7 * 24 * 60 * 60 * 1000)); 
0

你應該明白,時區的縮寫比較其時間戳不能保證是唯一的。解析具有時區縮寫的日期字符串可能很危險。例如,您怎麼知道CST在美國意味着「中央標準時間」,而不是「中國標準時間」?請參閱this list of abbreviations,您會發現許多不同的時區在縮寫時具有相同的字母。

大多數瀏覽器會根據您的本地區域做出一些假設。但是你可能不想依賴這個。

此外,並非所有瀏覽器都支持解析您的格式。如果你堅持使用這種格式,你應該考慮使用moment.js來解析日期字符串。儘管如此,你仍然有時區問題。

Moment.js也有一些強大的功能,將幫助你:

var now = moment(); 
if (now >= moment(yourDate).add('weeks', 1)) 
{ 
    ... 
}