int PHP à un problème de date
-
11-09-2019 - |
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?
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));