我有一个带有关键时间戳的数组,其中包含以下内容
“timestamp”=> “2011-11-29 00:00:00”
当我尝试使用此
更改格式时date("F j, Y", $data['Visitor']['timestamp']);
我收到以下错误
遇到非正确形成的数值
答案 0 :(得分:6)
您应该使用日期时间数据上的strtotime将其转换为Unix时间戳。
date("F j, Y", strtotime($data['Visitor']['timestamp']));
查看date的文档,它接受Unix时间戳作为第二个参数,并且您传递的是日期时间值。
答案 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');