将Cookie设置为在一天后过期

时间:2015-10-07 17:15:09

标签: javascript jquery cookies

我使用了我从git获得的代码。它基本上设置为设置一个cookie,以便在第一次访问该站点时显示弹出窗口。但是,我希望它只能设置24小时。因此,如果某人在一两天内回到该网站,它将再次显示。

while ((name = reader.readLine()) != null) {
    //Add each character in the name to the list
    for (char c : name.toCharArray()) {
        if (c != ' ') {  
            list.add(Character.toLowerCase(c));                     
        }
    }               
    namesCount++;         
}

3 个答案:

答案 0 :(得分:9)

变化:

date.setTime(date.getTime() + 31536000000);

为:

date.setDate(date.getDate() + 1);

这增加了1天的日期。旧代码增加了365天。

答案 1 :(得分:0)

这是我在项目中所做的事情,我觉得这更容易理解。只需根据您要添加到当前时间的天数timestamp来更改最后一个数字:

const timestamp = new Date().getTime(); // current time
const exp = timestamp + (60 * 60 * 24 * 1000 * 7)

60分钟* 60秒* 24小时* 1000(毫秒)* 7天

或者您可以简单地使用86400000

答案 2 :(得分:0)

日期setTime函数期望以毫秒为单位的时间。 在下面的示例中,cookie大约在6个月后过期。

毫秒*秒*分钟*小时*天*周*个月

还请注意,由于getTime函数未返回整数,因此我必须使用parseInt。

当您拥有该数字以提高代码效率时,也值得对timeToAdd进行硬编码。

var timeToAdd = 1000 * 60 * 60 * 24 * 7 * 4 * 6;
var date = new Date();
var expiryTime = parseInt(date.getTime()) + timeToAdd;
date.setTime(expiryTime);
var utcTime = date.toUTCString();
document.cookie = "YOUR_COOKIE=yes; expires=" + utcTime + ";";