1

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 時間です。誰か助けてください。

4

5 に答える 5

4

タイムゾーン「アジア/カルカッタ」または

http://php.net/manual/en/timezones.indian.phpのいずれか

于 2013-01-11T09:36:00.680 に答える
1

試す

function formatTime($ydatetime) {
   date_default_timezone_set('Asia/Kolkata'); //<--This will set the timezone to IST
   $str = strtotime($ydatetime);
   return date('Y-m-d H:i:s', $str);
}
于 2013-01-11T09:37:24.553 に答える
0

試す

echo date('Y-m-d H:i:s',strtotime('+330 minutes', 0));  

また

date_default_timezone_set('Asia/Kolkata');
  echo date('Y-m-d H:i:s');  

最初に時間を取得

$time = new DateTime('now', new DateTimeZone('UTC'));
    // then convert it to IST by
    $time->setTimezone(new DateTimeZone('IST'));
于 2013-01-11T09:38:57.353 に答える