我有一些代码我正在重构PHP在cookie中设置当前日期/时间的地方。有一些javascript从这个字符串中解析日期,并从中创建一个javascript Date
对象。
但是,代码很费力。由于我有重写这个的机会,我想以更适合javascript创建Date
对象的格式存储当前日期时间。
将日期作为字符串存储在cookie中以便javascript进行摄取的最有效方法是什么?
一个重要的因素是我需要在这个计算中加入时区。
答案 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')));