Вопрос

Взгляните на приведенный ниже код:

$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() является временная метка unix - другими словами, это количество секунд с 1 января 1970 года, скорректированное с учетом того, что PHP установлено для часового пояса (может быть установлено с помощью date_default_timezone_set).

Попробуйте установить часовой пояс GMT.

date_default_timezone_set('Europe/London');

Я думаю, если вы получаете значения за секунду, то вам следует использовать функцию mktime, тогда это даст правильный результат.Например.:

$t=77;
echo date("H:i:s", mktime(0,0,$t));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top