cookie值中的本机JavaScript日期格式



我有一些代码,我正在重构PHP在cookie中设置当前日期/时间。有一些JavaScript从此字符串中解析日期,并从中创建一个JavaScript Date对象。

但是,该代码很费力。由于我具有重新编写此功能的Opporunity,因此我想以更适合JavaScript创建Date对象的格式存储当前日期。

将日期作为字符串存储在cookie中的最有效方法是什么?

一个重要的因素是我需要在此计算中包括时区。

您只需以下日期设置cookie:

var today = new Date();
document.cookie = 'yourCookieName' + '=' + today

然后,当您要获取值并再次将其用作日期对象时,只需抓住cookie值:

var cookieValue = document.cookie.replace(/(?:(?:^|.*;s*)yourCookieNames*=s*([^;]*).*$)|^.*$/, "$1");

拥有设置日期的字符串值后,只需如下使用:

var anotherDate = new Date(cookieValue);

另一个date将是cookie日期字符串的日期对象。

我发现我可以使用Date.parse()Date对象的字符串版本中获取UNIX时间戳。

由于我正在使用jQuery的cookie库,这就是我所做的:

$.cookie('arrival',
  new Date(),
  { expires : 30,
    path    : '/',
    domain  : 'my domain.com' }
);

并阅读:

var cookieDate = new Date(Date.parse($.cookie('arrival')));

最新更新