我们如何转换2016-03-01T03:00:00Z此日期格式如
2016-03-01T03:00:00Z
进入01/02/2016 03:00 AM
还保留时区信息。
一种方法是使用" T"来爆炸字符串。性格,但问题进入了“AM'和' PM'规格。
答案 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;
?>