我有一些代码,我正在重构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')));