j查询保存时间和到期日期

jQuery saving Time and expiraton date?

本文关键字:日期 时间 查询 保存      更新时间:2023-09-26

我想知道如何在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)

而不是上面那种奇怪的格式。

我的第二个问题是如何设置它将在特定时间结束的到期日期格式。此时它将在

十一月 7 2014 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('name', new Date().getTime(), { expires: 365 }); 

然后当你检索它时

alert( new Date($.cookie('name')) );

第一个问题:

使用 toString() 如果你只想存储文本。我同意上面的评论...只要您获得正确的值,它如何存储真的重要吗?如果您不想将日期对象放在 cookie 中,则可以使用 .UTC() 或 .getTime()

日期对象上还有其他几个 toString 函数,可帮助您以所需的格式获取它:http://www.w3schools.com/jsref/jsref_obj_date.asp

第二个问题:

您可以使用"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 });