PHP int на сегодняшний день проблема
-
11-09-2019 - |
Вопрос
Взгляните на приведенный ниже код:
$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));