我能够获得当前日期,但我不知道如何获得当前日期+ 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');
显然,这不起作用。
答案 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常数(即一天中的毫秒数)乘以您想要的天数。