js_jquery_创建cookie有效期问题_时区问题
程序员文章站
2022-03-22 14:57:28
设置Cookie过期的两种方式: $.cookie('名', '值', { expires: 过期时间(DateTime), path: "/", domain: window.DomainName }); $.cookie('名', '值', { expires: 过期天数(Int), path... ......
用jquery设置Cookie过期的两种方式:
$.cookie('名', '值', { expires: 过期时间(DateTime), path: "/", domain: window.DomainName });
$.cookie('名', '值', { expires: 过期天数(Int), path: "/", domain: window.DomainName });
1-设置小于24小时过期的cookie:
修改当前时间:setTime(毫秒),now.getTime():获取当前时间毫秒数
//设置一个5分钟内不弹出订阅窗口的cookie var now = new Date(); now.setTime(now.getTime() + 5 * 60 * 1000); //页面没有设置过cookie,重新刷新页面,打开别的页面等,默认当前时间+5分钟过期时间 $.cookie('hasSubscribeEmail', '0', { expires: now, path: "/", domain: window.DomainName });
2-设置整数天过期的cookie-365天:
//加入订阅Coolie $.cookie('hasSubscribeEmail', '1', { expires: 365, path: "/", domain: window.DomainName });
备注:
Chrome浏览器cookie存储的时间是GMT时区的时间,即:北京标准时间-8小时。 查看cookie有效期时默认加8小时就对了。
UTC与GMT:
Google Chrome: new Date() 得到的是GMT时间(北京标准时间GMT+0800)
IE:new Date() 得到的是UTC时间(北京标准时间UTC+0800)
UTC是我们现在用的时间标准,GMT是老的时间计量标准。
UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间就是中午12点。
由于现在世界上最精确的原子钟50亿年才会误差1秒(最精确原子钟问世:50亿年误差一秒),可以说非常精确。
而GMT因为是根据地球的转动来计算时间的,而地球的自转正在缓速变慢,所以使用GMT的话,总有一天,打个比方,中午12点,并不是一天太阳当头照的时候,很可能就是早上或者晚上了。
所以说UTC更加精确。