1

ロジスティック パートナーから、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]));
}

上記のコードを試しました。しかし、正しく動作しません。

4

1 に答える 1

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');

実際に見る

于 2013-03-28T13:42:48.240 に答える