1

我将此日期存储在 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

为什么?

4

3 回答 3

2

strtotime 似乎不理解日期格式,您可以尝试使用 DateTime::createFromFormat 对其进行解析,或者您可以尝试将其存储为另一种格式

于 2012-06-25T14:11:48.353 回答
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

于 2012-06-25T14:12:02.883 回答
0

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

于 2012-06-25T14:12:05.490 回答