PHP日期格式错误

时间:2011-11-30 09:59:06

标签: php date format

我有一个带有关键时间戳的数组,其中包含以下内容

  

“timestamp”=> “2011-11-29 00:00:00”

当我尝试使用此

更改格式时
date("F j, Y", $data['Visitor']['timestamp']);

我收到以下错误

  

遇到非正确形成的数值

3 个答案:

答案 0 :(得分:6)

您应该使用日期时间数据上的strtotime将其转换为Unix时间戳。

date("F j, Y", strtotime($data['Visitor']['timestamp']));

查看date的文档,它接受Unix时间戳作为第二个参数,并且您传递的是日期时间值。

DEMO

答案 1 :(得分:1)

该函数需要Unix Time这是数字 - 而不是字符串格式的日期。

@Shakti Singh提到你应该使用strtotime。

来自timestamp参数的PHP文档:

  

可选的timestamp参数是整数Unix时间戳   如果未给出时间戳,则默认为当前本地时间。在   换句话说,它默认为time()的值。

答案 2 :(得分:0)

从PHP 5.2开始,更新的方法是DateTime class

$datetime = new DateTime('2011-11-29 00:00:00');
echo $datetime->format('F j, Y');

See it in action