我收到像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]));
}
我尝试了上面的代码。但是不能正常工作。
答案 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');
修改强>
这更准确,但由于夏令时,结果不是您所期望的:
$dt = new DateTime('2013-03-28T13:15:00+05:30');
$dt->setTimeZone(new DateTimeZone('UTC'));
echo $dt->format('Y-m-d H:i:s');