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() 的第二个参数是一个 unix 时间戳 - 换句话说,它是自 1970 年 1 月 1 日以来的秒数,调整为 PHP 为时区设置的值(可以使用 date_default_timezone_set 设置)。

于 2009-12-01T18:52:44.943 回答
-1

尝试设置 GMT 时区。

date_default_timezone_set('Europe/London');
于 2009-12-01T18:51:14.940 回答
-1

我认为如果你在第二次获得值,那么你应该使用 mktime 函数,然后它会给出正确的结果。例如:

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