在GMT获得当天+ 1

时间:2012-07-04 20:13:39

标签: javascript date cookies

我能够获得当前日期,但我不知道如何获得当前日期+ 1天(格林尼治标准时间)

var now = new Date();
var newexp = (now + 3);
var show = newexp.getGMTString();

alert(show);

我真正要做的是将Cookie设置为在1天后过期。

function SetCookie(name, value, exp) {
 var now = new Date();
 var newexp = (now + exp); // exp being # of days before expiration
 document.cookie= name + "=" + value+ "; expires=" + newexp.getGMTString() + ";"
}

SetCookie('name', 'john', '3');

显然,这不起作用。

3 个答案:

答案 0 :(得分:5)

Javascript Date对象可让您轻松操纵它存储在其中的日期。

为明天获取Date对象所需要做的就是......

var date = new Date();
date.setDate(date.getDate() + 1);

答案 1 :(得分:2)

function SetCookie(name, value, exp) {
var now = new Date();
now.setTime(now.getTime()+(exp*24*60*60*1000));
document.cookie= name + "=" + value+ "; expires=" + now.toGMTString() + ";"
}

SetCookie('name', 'john', '3');

编辑它以exp为因子,它是no。几天。

答案 2 :(得分:2)

另一种思考方式是回到基本的“自纪元以来的毫秒”表示:

var date = new Date()
date.setTime(date.getTime() + 24 * 60 * 60 * 1000)

或者有两个独立的变量:

var now = new Date()
var expiry = new Date(now.getTime() + 24 * 60 * 60 * 1000)

或者内联:

var expiry = new Date(new Date().getTime() + 24 * 60 * 60 * 1000)

请注意,这将为您提供 24小时后的日期。那个同时“明天当地时间相同”可能是23或25小时(如果2011年12月在萨摩亚,甚至不存在)。我个人更喜欢“固定时间长度”的稳定方法,但YMMV。

显然,要使到期天数不同,只需将24 * 60 * 60 * 1000常数(即一天中的毫秒数)乘以您想要的天数。