了解Cookie过期 – 以及如何设置

我在我的网站上使用cookie在页面加载时显示一次彩色框,然后用户可以选择每次手动加载彩色框。 但我不明白的是你如何设置cookie的到期日期。 我从SO上得到了另一个问题所需的代码,如果有人可以向我解释这里是什么,这将有所帮助。

var $j = jQuery.noConflict(); $j(document).ready(function(){ if (document.cookie.indexOf('visited=true') == -1) { var fifteenDays = 1000*60*60*24*15; var expires = new Date((new Date()).valueOf() + fifteenDays); document.cookie = "visited=true;expires=" + expires.toUTCString(); $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); } }); 

我认为这意味着cookie将在15天后到期。 我如何将其更改为更长时间? 说30或60天?

这里要注意的关键是

 var fifteenDays = 1000*60*60*24*15; 

15天,每次24小时,每次60分钟,每次60秒。

最后一个因子是1000.所以fitteenday变量在15天内保持毫秒数。

 var expires = new Date((new Date()).valueOf() + fifteenDays); 

该声明暗示cookie的到期日期是当前日期加上15天。

因此,在您需要1530天到期的情况下,您只需要将天数替换为15

出于所有实际目的,这里有一个简单的表格。

 var expires = new Date((new Date()).valueOf() + time); 

其中time =以下内容:

  • 1毫秒:时间= 1
  • 1秒:时间= 1000
  • 1分钟:时间= 60 * 1000
  • 1小时:时间= 60 * 60 * 1000
  • 1天(24小时):时间= 24 * 60 * 60 * 1000
  • 1平均月(29.6天):时间= 29.6 * 24 * 60 * 60 * 1000
  • 1年(365.24):时间= 365.24 * 24 * 60 * 60 * 1000