将示例日期格式转换为所需格式

时间:2013-03-28 13:41:06

标签: php date datetime

我收到像2013-03-28T13:15:00+05:30这样的Logistic合作伙伴的回复我希望在IST格式的日期。我该如何正确转换它。

$addTime = explode('+',$response->TrackDetails->ActualDeliveryTimestamp);
if($addTime[1] == '05:30'){
$time = '';
$time = strtotime('+5:30 hrs',$addTime[0]); 
echo date('Y-m-d H:i:s',strtotime($addTime[0]));
}

我尝试了上面的代码。但是不能正常工作。

1 个答案:

答案 0 :(得分:0)

$addTime = explode('+','2013-03-28T13:15:00+05:30');
list($hours, $minutes) = explode(':', $addTime[1]);

$dt = new DateTime($addTime[0]);
$dt->add(new DateInterval('PT'.intval($hours).'H'));
$dt->add(new DateInterval('PT'.intval($minutes).'M'));
echo $dt->format('Y-m-d H:i:s');

See it in action

修改

这更准确,但由于夏令时,结果不是您所期望的:

$dt = new DateTime('2013-03-28T13:15:00+05:30');
$dt->setTimeZone(new DateTimeZone('UTC'));
echo $dt->format('Y-m-d H:i:s');

See it in action