将Cookie转换为以天为单位的分钟/小时

时间:2011-12-11 20:05:03

标签: javascript cookies

我有java脚本,我用它来创建cookie,我想在5小时内完成它,但最短的到期时间是一天..任何人都可以帮助我将这段代码转换成几分钟/小时的过期cookie?我尝试了但是我失败了。帮助我..

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

username='20';
setCookie("username",username,1);

1是一天,如何在5小时内到期?

4 个答案:

答案 0 :(得分:1)

我没试过。我希望它能奏效。

exdays = 5 (hours) * 60 (minutes) * 60 (seconds);
exdate.setTime(exdate.getTime() + exdays);

答案 1 :(得分:0)

最直接的转换是使用setHours设置小时数,而不是使用setDate设置日期

exdate.setHours(exdate.getHours() + time_in_hours )

答案 2 :(得分:0)

您需要打开一个控制台才能查看此输出的两个日期,但这样可行(使用.setHours())。

function setCookie(c_name, value, exhours)
{
    var exdate = new Date();
    var c_value = escape(value) + ((exhours == null) ? "" : "; expires=" + exdate.toUTCString());
    console.log(c_value);

    exdate.setHours(exdate.getHours() + exhours);

    var c_value = escape(value) + ((exhours == null) ? "" : "; expires=" + exdate.toUTCString());
    console.log(c_value);

    document.cookie = c_name + "=" + c_value;
}

username = '20';
setCookie("username",username,5);

http://jsfiddle.net/MK5NH/

答案 3 :(得分:0)

function setCookie(c_name,value,exTime)
{
    var exdate=new Date();        
    exdate.setTime(exdate.getTime() + exTime);
    var c_value=escape(value) + ((exTime==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
}
setCookie("username",username,3600000);

这会将您的Cookie设置为1小时。