YouTube API ビデオ フィードから受け取ったタイム スタンプを変換しようとしています。2013-01-11T06:45:52.000Z
受信したタイムスタンプは GMTタイムスタンプだと思います(間違っていたら訂正してください)。タイムスタンプをISTに変換する関数を書きました。
function formatTime($ydatetime) {
$timestamp = explode("T", $ydatetime);
$date = $timestamp[0];
$gmtime = substr($timestamp[1], 0, 8);
$gmtimestamp = $date . " " . $gmtime;
$datetime = new DateTime($gmtimestamp, new DateTimeZone('GMT'));
$datetime->setTimezone(new DateTimeZone('IST'));
return $datetime->format('Y-m-d H:i:s');
}
2013-01-11 08:45:52
ただし、差が 2 時間のみのタイム スタンプが返されます。GMT と IST の実際の差は 5.30 時間です。誰か助けてください。