cookie值中的原生javascript日期格式?

时间:2016-12-19 16:51:07

标签: javascript date cookies

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

但是,代码很费力。由于我有重写这个的机会,我想以更适合javascript创建Date对象的格式存储当前日期时间。

将日期作为字符串存储在cookie中以便javascript进行摄取的最有效方法是什么?

一个重要的因素是我需要在这个计算中加入时区。

2 个答案:

答案 0 :(得分:1)

您可以使用以下日期设置Cookie:

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

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

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

获得设置日期的字符串值后,只需按如下方式使用:

var anotherDate = new Date(cookieValue);

anotherDate将是cookie日期字符串中的日期对象。

答案 1 :(得分:0)

我发现我可以使用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')));