如何在不使用字符串函数(如substr)的情况下将日期格式从2012-03-19T22:10:56.000Z
转换为Wed Nov 13 18:06:37 +0000 2013
。 Gnip正在使用这种日期格式。不确定它是什么格式。
我尝试使用日期功能
$postedTime = "2012-03-19T22:10:56.000Z";
date($postedTime,"D M d H:i:s O Y");
但是我收到错误,因为$postedTime
是一个字符串而不是长变量。
答案 0 :(得分:3)
为什么在使用专门设计用于处理日期的函数时使用substr()?
$date = new DateTime('2012-03-19T22:10:56.000Z');
echo $date->format('r Y');
答案 1 :(得分:1)
您需要在日期函数中交换订单
date('format string', $time)
所以你想要:
date("D M d H:i:s O Y", strtotime($postedTime));
答案 2 :(得分:0)
您可以使用
转换DateTime
对象中的字符串
$date = new DateTime($postedTime);
然后你可能需要更改时区(因为你的postedTime
是Zulu的时区Z)
$date->setTimezone(new DateTimeZone('Europe/Rome'));
也可以添加或减去合适的偏移量DateInterval
。
最后,如果您需要在date
中使用时间戳,请使用[getTimeStamp][1]
。
$ts = $date->getTimeStamp();
如果您在祖鲁语中有所有日期时间,请使用
$date = new DateTime($postedTime);
date("Y-m-d H:i:s", $date->getTimeStamp());
或者如果您不需要时间戳,
$date = new DateTime($postedTime);
print $date->format('Y-m-d H:i:s');
您应该输入相同的日期。如果偏移一个或多个小时加或减,则为a time zone problem。