Javascript jQuery保存时间和到期日期?
我想知道如何在jQuery中保存日期格式 今天我想到了一个使用jQuery保存COOKIE的主意 在我查看了另一个站点的COOKIE内容后,我发现它将存储在日期中 当我尝试对我的站点执行相同操作时,我使用了以下代码:Javascript jQuery保存时间和到期日期?,javascript,jquery,cookies,Javascript,Jquery,Cookies,我想知道如何在jQuery中保存日期格式 今天我想到了一个使用jQuery保存COOKIE的主意 在我查看了另一个站点的COOKIE内容后,我发现它将存储在日期中 当我尝试对我的站点执行相同操作时,我使用了以下代码: $.cookie('name', new Date(), { expires: 365 }); 将设置COOKIE,但不同之处在于内容将以如下奇怪格式显示: Thu%20Nov%2007%202013%2020%3A04%3A49%20GMT%2B0100%20(CET) 当
$.cookie('name', new Date(), { expires: 365 });
将设置COOKIE,但不同之处在于内容将以如下奇怪格式显示:
Thu%20Nov%2007%202013%2020%3A04%3A49%20GMT%2B0100%20(CET)
当我使用以下命令读取COOKIE时:
alert( $.cookie('name') );
它将正确显示日期格式。因此,我的第一个问题是如何以正确的形式保存日期,如:
2013年11月7日星期四20:04:49 GMT+0100(CET)
而不是上面那种奇怪的格式
我的第二个问题是如何设置到期日期格式,它将在特定时间结束。
在这一点上,它将在
2014年11月7日20:04:49 GMT+0100(CET)
但是我怎么能让它过期,例如
2014年11月7日00:00:00 GMT+0100(CET)
?
非常感谢
更新:
这是我使用的代码:
...
var now = new Date();
var expireDate = new Date(now.getFullYear(), now.getMonth(), now.getDate());
$.cookie('cookiePolicyConsent', new Date().toString(), { expires: expireDate });
...
它不会保存COOKIE。代码的其余部分仍然有效。只有这一行处理COOKIE。第一个问题: 如果只想存储文本,请使用。我同意上面的评论。。。只要返回正确的值,它的存储方式真的很重要吗?如果不想将日期对象放入cookie中,则可以使用.UTC()或.getTime() date对象上还有其他几个toString函数,可以帮助您以所需的格式获取它: 第二个问题: 您可以使用“expire”属性传入日期而不是数字。所以你可以这样做:
var now = new Date();
// Expire the cookie tonight at midnight
var expireDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1);
$.cookie('name', new Date().toString(), { expires: expireDate });
如果像这样以毫秒为单位保存日期,可能会更容易
$.cookie('name', new Date().getTime(), { expires: 365 });
然后当你找回它的时候
alert( new Date($.cookie('name')) );
“那个奇怪的格式”。。。你的意思是URI编码。您可以使用
decodeURI()
函数获取字符串版本。如果您以正确的格式获取值,为什么要关心它的存储方式?您好,您在哪里使用toString函数?顺便说一句,它根本不保存。谢谢您这样做:var myDate=new Date();$。cookie('name',myDate.toString(),{expires:expireDate})代码>你说的不工作是什么意思?什么不起作用?该代码将为您获取一个字符串。。。。如果您要复制/粘贴我之前评论中的代码,则需要创建expireDate或将其更改为数字。整个代码不起作用。使用expireDate设置变量时,即不保存过期日期。甚至使用tostring函数也不能将其转换为字符串。和以前一样。我没有在日期中添加toString()。我在“第二个问题”中更新了代码