Paulo Bueno
Paulo Bueno

Reputation: 2569

PHP int to date problem

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?

Upvotes: 4

Views: 2541

Answers (4)

Gaurav Padia
Gaurav Padia

Reputation: 34

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));

Upvotes: -1

Atli
Atli

Reputation: 7930

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);

Upvotes: 8

tloach
tloach

Reputation: 8040

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).

Upvotes: 2

Sergey Kuznetsov
Sergey Kuznetsov

Reputation: 8721

Try to set GMT timezone.

date_default_timezone_set('Europe/London');

Upvotes: -1

Related Questions