cookie值中的本机javascript日期格式?

cookie值中的本机javascript日期格式?,javascript,date,cookies,Javascript,Date,Cookies,我正在重构一些代码,其中PHP在cookie中设置当前日期/时间。有一些javascript从这个字符串中解析日期,并从中创建一个javascriptdate对象 然而,代码很费劲。因为我有机会重写它,所以我想用一种更适合javascript的格式来存储当前的日期时间,用它创建一个date对象 将日期作为字符串存储在cookie中以供javascript稍后接收的最有效的方法是什么 一个重要的因素是,我需要在计算中包括时区。您只需将cookie设置为日期,如下所示: var today = ne

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

然而,代码很费劲。因为我有机会重写它,所以我想用一种更适合javascript的格式来存储当前的日期时间,用它创建一个
date
对象

将日期作为字符串存储在cookie中以供javascript稍后接收的最有效的方法是什么


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

您只需将cookie设置为日期,如下所示:

var today = new Date();
document.cookie = 'yourCookieName' + '=' + today
var anotherDate = new Date(cookieValue);
然后,当您想要获取值并再次将其用作日期对象时,只需获取cookie值:

var cookieValue = document.cookie.replace(/(?:(?:^|.*;\s*)yourCookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1");
设置好日期的字符串值后,只需按如下方式使用它:

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

另一个日期将是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')));

“高效”?将其存储为字符串代表,并从该字符串代表创建一个新的日期对象?@DaveNewton——在字符串中格式化日期有很多不同的方法。javascript能接受“2016年12月19日星期一美国东部时间上午11:54”吗?列出了所有原生JS日期格式。@user151841简单地尝试一下会更快,不是吗?@DaveNewton如果我有,我可能永远也不会了解您在评论中传授的知识,
date
可以解析自己的字符串输出。我会将日期格式化为字符串,然后解析它们,然后再将其摄取。我从来没有因为假设自己是过度工程而失望过。你甚至不需要:
Date
可以解析它自己的字符串输出。@DaveNewton想回答这个问题吗?如果你想让日期字符串可以交换,请使用
new Date.toISOString()
。然后您可以在任何地方执行
新日期('arrival')