Question

En PHP, comment puis-je l'heure actuelle, en UTC, sans connaissance de codage dur où mon fournisseur d'hébergement est?

Par exemple, j'ai essayé les éléments suivants:

time() + strtotime('January 1, 2000')-strtotime('January 1, 2000 UTC')

et trouvez qu'il fait état d'un temps qui est à une heure à l'avance UTC réelle. J'ai essayé sur deux fournisseurs d'hébergement différents dans deux fuseaux horaires différents avec les mêmes résultats.

Y at-il un système fiable (et, espérons-le, plus propre) façon d'obtenir avec précision le temps UTC?

Je suis limité à PHP 4.4.9, je ne peux pas utiliser les nouveautés de fuseau horaire ajouté à PHP5.

Merci à l'avance.

Était-ce utile?

La solution

Cela semble fonctionner pour moi. Bien sûr, vous aurez besoin de le tester sur PHP 4 puisque tous mes serveurs ont PHP 5, mais les demandes manuelles cela devrait fonctionner pour PHP 4.

$t = time();
$x = $t+date("Z",$t);
echo strftime("%B %d, %Y @ %H:%M:%S UTC", $x);

La première fois autour, j'ai oublié que la date pourrait changer entre l'appel à temps () et la date ().

Autres conseils

$time = new DateTime('now', new DateTimeZone('UTC'));
echo $time->format('F j, Y H:i:s');

Est-ce que ce travail pour php 4.4.9?

echo gmdate('Y-m-d H:i:s', time());

ou si vous le voulez pour une date précise:

$time = strtotime('January 1, 2000 UTC');
if($time){
    echo gmdate('Y-m-d H:i:s', $time);
}
$utcTtime = gmmktime();
$unixTimestamp = time();

gmmktime : le timestamp UNIX d'une date GMT

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top