在我的javascript代码中,我只能以这种格式将日期作为字符串获取:
示例:Mon May 28 11:20:46 EDT 2012
。
有没有办法可以检查该日期和当前日期是>=
是否超过1周?
答案 0 :(得分: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');
}
答案 1 :(得分:0)
只需使用日期字符串启动Date对象,并将其时间戳与今天的
进行比较var d1 = new Date("Mon May 10 11:20:46 EDT 2013");
alert((new Date()) - d1 >= (7 * 24 * 60 * 60 * 1000));
答案 2 :(得分:0)
您应该了解时区缩写不保证是唯一的。解析具有时区缩写的日期字符串可能很危险。例如,您如何知道CST
在美国意味着“中央标准时间”,而不是“中国标准时间”?请参阅this list of abbreviations,您会发现许多不同的时区在缩写时具有相同的字母。
大多数浏览器会根据您的本地区域做出一些假设。但你可能不想依赖它。
此外,并非每个浏览器都支持解析您拥有的格式。如果您坚持使用此格式,则应考虑使用moment.js来解析日期字符串。你仍然有时区问题需要解决。
Moment.js还有一些很棒的功能可以帮助你:
var now = moment();
if (now >= moment(yourDate).add('weeks', 1))
{
...
}