Question

Take a look on the code below:

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

It returns

21:01:17

The correct result, of course, should be something like 00:01:17.

The $t value indeed is a value in seconds returned by the YouTube GData API, trought($videoEntry->getVideoDuration()).

How can this problem be fixed?

Was it helpful?

Solution

date is timezone specific. You need to set it to GMT to get the results you want.

date_default_timezone_set('GMT');
$t=77;
echo date("H:i:s", $t);

OTHER TIPS

The second argument to date() is a unix timestamp - in other words it is a number of seconds since Jan 1, 1970, adjusted to what PHP is set to for a timezone (can be set with date_default_timezone_set).

Try to set GMT timezone.

date_default_timezone_set('Europe/London');

I think if you getting values in second, then you should use mktime function then it will give correct result. For eg.:

$t=77;
echo date("H:i:s", mktime(0,0,$t));
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top