日期未正确存储在Cookie中

时间:2012-06-25 14:04:29

标签: php cookies

我将这个日期存储在一个cookie中:

Tue Jun 26 2012 15:38:41 GMT+0200 (CEST)

现在我需要以这种形式打印它:

06/26/2012 15:38

所以我写这段代码:

echo $_COOKIE['date'];
echo date('m/d/Y g:i A', strtotime($_COOKIE['date'])); 

但我明白了:

Tue Jun 26 2012 15:38:41 GMT 0200 (CEST)
12/31/1969 7:00 PM

而不是:

 06/26/2012 15:38

为什么?

3 个答案:

答案 0 :(得分:2)

strtotime似乎不理解日期格式,您可以尝试使用DateTime :: createFromFormat解析它,或者您可以尝试将其存储为其他格式

答案 1 :(得分:1)

也许更容易将时间戳存储在cookie中,而不是日期字符串。

$_COOKIE['date'] = time();

然后直接将其读取到日期函数。

我试过这个:

<?php
setcookie('date', time());
var_dump($_COOKIE);
echo date('m/d/Y g:i A', $_COOKIE['date']);
?>

结果是: 06/25/2012 6:13 PM

答案 2 :(得分:0)

因为strtotime无法识别您使用的日期格式。