我有一个Cookie,用于设置之前访问我网站的日期。它按以下格式保留所有访问日期30天:
2016年7月13日| 2016年7月10日| 2016年6月28日
我需要检查此Cookie中的日期是否超过一天。例如:
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
。我需要从计算中扣除1天的折扣。有什么建议吗?
答案 0 :(得分:2)
在测试前添加todaysDate.setUTCHours(0,0,0,0);
,以便两个日期具有相同的时间,或使用getDate()
,getMonth()
和getFullYear()
进行比较。
即使prevDate
引用同一天,todaysDate
小于todaysDate
的原因是因为Date
s也包含时间。 new Date()
将设置为已调用prevDate
的时间。但是,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());
是从不包含任何时间信息的字符串中解析的。因此,它的时间是午夜(0小时,0分钟,0秒和0毫秒)。
Dim order = New Integer() {2,3,1}
Dim literalSort = l.OrderBy(Function(i) If(order.Contains(i), 0, 1)) _
.ThenBy(Function(i) Array.IndexOf(order, i)) _
.ThenBy(Function(i) i) ' sort rest numerically