web-dev-qa-db-fra.com

PHP date indiquant l'heure erronée malgré l'horodatage correct

Je rencontre un problème avec la fonction PHP date avec laquelle je n’avais jamais eu de problème auparavant.

L'horodatage est tout à fait correct, cependant, pour une raison étrange, date () affiche une heure qui ne correspond pas.

J'ai l'horodatage suivant (et c'est certainement le bon - quand je le répercute sur la page, ainsi que dans la base de données, il est indiqué comme étant correct):

464400

Pourtant, lorsque j'utilise la ligne de code suivante:

<?php echo date("H:i",$timestamp); ?>

Je reçois un temps de 4 heures? Si je colle l’horodatage sur un site Web de conversion d’horodatage, il indique que l’heure doit en fait être 9h.

Je suis complètement coincé, cela ne m'est jamais arrivé auparavant et ce problème a récemment été soulevé - le code n'a pas été modifié et tout semblait fonctionner correctement auparavant.

Quelqu'un at-il une expérience avec ce problème? Toute aide serait appréciée.

7
user3754277

Cet horodatage correspond au fuseau horaire de 9h00 GMT. Si vous vous trouvez dans un autre fuseau horaire, vous devrez l’ajuster en conséquence. 

http://php.net/manual/en/function.date-default-timezone-set.php

  date_default_timezone_set('Europe/London');

ou même mieux dans votre php.ini 

http://php.net/manual/en/datetime.configuration.php

date.timezone="Europe/London"

Ou vous pouvez utiliser plus spécifiquement GMT au lieu de Europe/London (qui a DST)

12
exussum

essayez cette méthode fonctionnera

pour le fuseau horaire http://php.net/manual/en/timezones.php

code

<?php
date_default_timezone_set('Asia/Kolkata'); 

$dt2=date("Y-m-d H:i:s");
echo $dt2;

?>
4
Vijay Balan

essaye ça 

// set default timezone
date_default_timezone_set('UTC');
//define unix timestamp
$timestamp = 1456778973;
// output
echo date('d M Y H:i:s',$timestamp);

Essayez aussi ce convertisseur http://freeonlinetools24.com/

1
user789456