将Json日期转换为PHP日期格式?

时间:2016-02-22 06:22:59

标签: php json datetime

我们如何转换2016-03-01T03:00:00Z此日期格式如

2016-03-01T03:00:00Z

进入01/02/2016 03:00 AM

还保留时区信息。

一种方法是使用" T"来爆炸字符串。性格,但问题进入了“AM'和' PM'规格。

2 个答案:

答案 0 :(得分:1)

date需要strtotime

<?php
$a = "2016-03-01T03:00:00Z";
echo date("d/m/Y H:i A",strtotime($a));

?>

演示:jsfiddle

答案 1 :(得分:0)

我认为我们必须考虑时区('maintaining the timezone information')。如果默认时区与时间字符串的时区不同,则结果将无法更正。就像这样:

<?php
date_default_timezone_set('Asia/Shanghai'); 
$a = '2016-03-01T03:00:00Z';
echo date("d/m/Y H:i A",strtotime($a));
?>

结果为01/03/2016 11:00 AM

时间格式为ISO 8601,它将包含时区。

这是我的代码:

<?php
$a = '2016-03-01T03:00:00Z';
$tmpTime = explode('T',$a);
$resutTime = implode('/',array_reverse(explode('-',$tmpTime[0]))).' '.substr($tmpTime[1],0,5).' '.(intval(substr($tmpTime[1],0,2)) < 12 ? 'AM' : 'PM');
echo $resutTime;
?>