在我的javascript代碼中,我只能以此格式的字符串獲取日期: 示例:Mon May 28 11:20:46 EDT 2012
。如何使用特定日期格式獲取日期差異?
有沒有一種方法可以檢查該日期和當前日期是否爲>=
比1周?
在我的javascript代碼中,我只能以此格式的字符串獲取日期: 示例:Mon May 28 11:20:46 EDT 2012
。如何使用特定日期格式獲取日期差異?
有沒有一種方法可以檢查該日期和當前日期是否爲>=
比1周?
只是減去他們
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');
}
剛剛開始使用日期字符串Date對象,並與今天的
var d1 = new Date("Mon May 10 11:20:46 EDT 2013");
alert((new Date()) - d1 >= (7 * 24 * 60 * 60 * 1000));
你應該明白,時區的縮寫比較其時間戳不能保證是唯一的。解析具有時區縮寫的日期字符串可能很危險。例如,您怎麼知道CST
在美國意味着「中央標準時間」,而不是「中國標準時間」?請參閱this list of abbreviations,您會發現許多不同的時區在縮寫時具有相同的字母。
大多數瀏覽器會根據您的本地區域做出一些假設。但是你可能不想依賴這個。
此外,並非所有瀏覽器都支持解析您的格式。如果你堅持使用這種格式,你應該考慮使用moment.js來解析日期字符串。儘管如此,你仍然有時區問題。
Moment.js也有一些強大的功能,將幫助你:
var now = moment();
if (now >= moment(yourDate).add('weeks', 1))
{
...
}