以下のコードを見てください。
$t=77;
date("H:i:s", $t);
戻る
21:01:17
もちろん、正しい結果は 00:01:17 のようになります。
$t 値は、YouTube GData APIによって返される秒単位の値trought($videoEntry->getVideoDuration())
です。
この問題はどのように修正できますか?
以下のコードを見てください。
$t=77;
date("H:i:s", $t);
戻る
21:01:17
もちろん、正しい結果は 00:01:17 のようになります。
$t 値は、YouTube GData APIによって返される秒単位の値trought($videoEntry->getVideoDuration())
です。
この問題はどのように修正できますか?
日付はタイムゾーン固有です。必要な結果を得るには、GMT に設定する必要があります。
date_default_timezone_set('GMT');
$t=77;
echo date("H:i:s", $t);
date() の 2 番目の引数は UNIX タイムスタンプです。つまり、1970 年 1 月 1 日からの秒数で、PHP のタイムゾーン設定に合わせて調整されます (date_default_timezone_set で設定できます)。
秒単位で値を取得する場合は、 mktime 関数を使用すると正しい結果が得られると思います。例:
$t=77;
echo date("H:i:s", mktime(0,0,$t));
GMT タイムゾーンを設定してみてください。
date_default_timezone_set('Europe/London');