我从twitter api获得了这个格式的时间戳。
Fri Dec 28 20:06:38 +0000 2012
我想把它转换成像这样的标准时间戳格式。
2012-12-10 16:20:18
我对php中的日期很陌生。我该怎么做?
您可以使用DateTime
:
$date = new DateTime('Fri Dec 28 20:06:38 +0000 2012');
echo $date->format('Y-m-d H:i:s');
我喜欢DateTime
的原因是它提供了很好的面向对象实现,并且使它更容易处理令程序员头疼的日期。要了解该类的更多信息,请阅读我已经参考过的手册。
您可以使用strtotime
将初始字符串转换为UNIX时间戳,然后使用strftime
将其转换回字符串:
strftime('%Y-%m-%d %H:%M:%S', strtotime('Fri Dec 28 20:06:38 +0000 2012'));
这个调用返回字符串2012-12-28 21:06:38——也就是你正在寻找的。
使用
$originalDate = "Fri Dec 28 20:06:38 +0000 2012";
echo $newDate = date("Y-m-d h:i:s", strtotime($originalDate));
工作示例http://codepad.viper-7.com/AhLcEU
如果使用php <5.2.0(一些共享主机)使用strtotime和date的组合
date('Y-m-d H:i:s', strtotime('Fri Dec 28 20:06:38 +0000 2012'));