2013-03-28 68 views
1

我可以從Logistic合作伙伴收到回覆,例如2013-03-28T13:15:00+05:30我希望在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
$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

+0

那日子我s格式。我希望它在IST中,所以我需要它在5:30加入 – Hacker

+0

編輯修復這個問題 –