在twitter API的json响应中,我得到了这样的时间戳
Thu Mar 13 14:24:13 +0000 2014
我试着用这种方式格式化:
$created_at = $thing->created_at;
$date = DateTime::createFromFormat('D M d H:m:s O Y', $created_at);
echo $created_at;
echo $date->format('H:m:s');
结果如下:
Thu Mar 13 14:24:13 +0000 2014
2015:12:13 //formated result. How come 2015?????
Wed Mar 12 14:18:14 +0000 2014
2015:06:12
Tue Jan 21 12:50:17 +0000 2014
2018:02:21
Thu Dec 12 09:29:16 +0000 2013
2015:05:12
为什么给出错误的结果?
我想让月份,年份分开变量。
答案 0 :(得分:1)
您可以通过以下方式简化DateTime
的创建:
$dt = new DateTime('@' . strtotime('Thu Mar 13 14:24:13 +0000 2014'));
将日期字符串解析为Unix时间戳,然后创建DateTime对象。
echo $dt->format('Y-m-d H:i:s'); // yields the correct result.
答案 1 :(得分:0)
您使用月份格式字符m
而不是分钟i
,这就是您输出“错误”的原因。
$dt = new DateTime('Thu Mar 13 14:24:13 +0000 2014');
echo $dt->format('H:i:s');