我想知道如何在jQuery中保存日期格式。
今天我想通过使用jQuery来保存COOKIE。
在我看到来自其他网站的COOKIE的内容后,我看到它将存储日期。
当我尝试为我的网站做同样的事情时,我使用了这段代码:
$.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。
答案 0 :(得分:0)
第一个问题:
如果您只想存储文字,请使用toString()。我同意上面的评论......只要你得到正确的价值,它的存储方式真的很重要吗?如果您不想将日期对象放在cookie中,那么可以使用.UTC()或.getTime()
日期对象上还有其他几个toString函数可帮助您以所需的格式获取它:http://www.w3schools.com/jsref/jsref_obj_date.asp
第二个问题:
您可以使用“过期”属性传递日期而不是数字。所以你可以这样做:
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 });
答案 1 :(得分:0)
如果以毫秒为单位保存日期可能会更容易
$.cookie('name', new Date().getTime(), { expires: 365 });
然后当你找回它时
alert( new Date($.cookie('name')) );