PHP int на сегодняшний день проблема - PullRequest
4 голосов
/ 01 декабря 2009

Посмотрите на код ниже:

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

Возвращает

21:01:17

Правильный результат, конечно, должен быть примерно таким: 00: 01: 17.

Значение $ t действительно представляет собой значение в секундах, которое возвращает YouTube GData API, trought($videoEntry->getVideoDuration()).

Как можно решить эту проблему?

Ответы [ 4 ]

8 голосов
/ 01 декабря 2009

дата зависит от часового пояса. Вам нужно установить его на GMT, чтобы получить желаемые результаты.

date_default_timezone_set('GMT');
$t=77;
echo date("H:i:s", $t);
2 голосов
/ 01 декабря 2009

Второй аргумент функции date () - это метка времени Unix - другими словами, это число секунд с 1 января 1970 года, скорректированное в соответствии с тем, какое значение PHP установлено для часового пояса (может быть установлено с помощью date_default_timezone_set).

0 голосов
/ 01 декабря 2009

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

$t=77;
echo date("H:i:s", mktime(0,0,$t));
0 голосов
/ 01 декабря 2009

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

date_default_timezone_set('Europe/London');
...