我有一个曲奇,为以前访问我的网站设定日期。它将访问的所有日期按下列格式保存30天:
2016-07-13/2016-07-10-2016-06-28
我需要检查一下这个饼干里的日期是否比一天老。例如:
false结果。Cookie包含今天的日期但是:
2016-07-12)。true结果发送我想尽可能简洁地做这件事。
我目前有以下内容(尚不十分简洁):
var cookiePreviousSiteVisit = '2016-07-10|2016-07-02|2016-06-28'.split('|');
var todaysDate = new Date();
var prevDate = new Date(previousSiteVisit[0]);
return todaysDate > prevDate;我的问题是,如果今天的日期也在那里,它会返回true。我需要从我的计算中减价一天。有什么建议吗?
发布于 2016-07-13 15:38:29
在测试之前添加todaysDate.setUTCHours(0,0,0,0);,以便两个日期具有相同的时间,或者使用getDate()、getMonth()和getFullYear()进行比较。
即使是在同一天,prevDate也比todaysDate小,原因是s也包含时间。todaysDate将被设置为调用new Date()的时间。但是,prevDate是从不包含任何时间信息的字符串中解析的。因此,它的时间是午夜(0小时,0分钟,0秒和0毫秒)。
function notVisitedToday(){
var previousSiteVisits = '2016-07-13|2016-07-02|2016-06-28'.split('|');
var todaysDate = new Date();
var prevDate = new Date(previousSiteVisits[0]);
todaysDate.setUTCHours(0,0,0,0);
return todaysDate > prevDate;
}
console.log(notVisitedToday());
https://stackoverflow.com/questions/38355934
复制相似问题