4

以下のコードを見てください。

$t=77;
date("H:i:s", $t);

戻る

21:01:17

もちろん、正しい結果は 00:01:17 のようになります。

$t 値は、YouTube GData APIによって返される秒単位の値trought($videoEntry->getVideoDuration())です。

この問題はどのように修正できますか?

4

4 に答える 4

8

日付はタイムゾーン固有です。必要な結果を得るには、GMT に設定する必要があります。

date_default_timezone_set('GMT');
$t=77;
echo date("H:i:s", $t);
于 2009-12-01T18:53:19.930 に答える
2

date() の 2 番目の引数は UNIX タイムスタンプです。つまり、1970 年 1 月 1 日からの秒数で、PHP のタイムゾーン設定に合わせて調整されます (date_default_timezone_set で設定できます)。

于 2009-12-01T18:52:44.943 に答える
-1

秒単位で値を取得する場合は、 mktime 関数を使用すると正しい結果が得られると思います。例:

$t=77;
echo date("H:i:s", mktime(0,0,$t));
于 2009-12-01T18:57:19.490 に答える
-1

GMT タイムゾーンを設定してみてください。

date_default_timezone_set('Europe/London');
于 2009-12-01T18:51:14.940 に答える