首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果cookie中的日期是昨天,还是更远的地方

如果cookie中的日期是昨天,还是更远的地方
EN

Stack Overflow用户
提问于 2016-07-13 15:29:21
回答 1查看 90关注 0票数 2

我有一个曲奇,为以前访问我的网站设定日期。它将访问的所有日期按下列格式保存30天:

2016-07-13/2016-07-10-2016-06-28

我需要检查一下这个饼干里的日期是否比一天老。例如:

  • 今天是十三号
  • Cookie最后一次访问第13次
  • 因此,我需要一个false结果。Cookie包含今天的日期

但是:

  • 今天是十三号
  • cookie中的最后一次约会是第12次(例如2016-07-12)。
  • Cookie至少包含昨天的日期。所以true结果发送

我想尽可能简洁地做这件事。

我目前有以下内容(尚不十分简洁):

代码语言:javascript
复制
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。我需要从我的计算中减价一天。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 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毫秒)。

代码语言:javascript
复制
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());

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38355934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档