Question

Jetez un oeil sur le code ci-dessous:

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

Il retourne

21:01:17

Le résultat correct, bien sûr, devrait être quelque chose comme 0:01:17.

La valeur de $ t est en effet une valeur en secondes retournée par l'API YouTube GData de, trought($videoEntry->getVideoDuration()).

Comment ce problème peut être résolu?

Était-ce utile?

La solution

est la date spécifique de fuseau horaire. Vous devez le mettre à l'heure GMT pour obtenir les résultats que vous voulez.

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

Autres conseils

Le deuxième argument à ce jour () est un horodatage unix - en d'autres termes, il est un certain nombre de secondes depuis le 1er janvier 1970, ajusté à ce que PHP est défini sur un fuseau horaire (peut être réglé avec date_default_timezone_set).

Essayez de définir fuseau horaire GMT.

date_default_timezone_set('Europe/London');

Je pense que si vous obtenir des valeurs en deuxième position, alors vous devriez utiliser la fonction mktime il donnera un résultat correct. Pour exemple:.

$t=77;
echo date("H:i:s", mktime(0,0,$t));
scroll top