PHP mauvaise date/heure
PHP date()
& time()
retour heure incorrecte:
Quand date.timezone = "Europe/Riga"
le temps retourné par date()
était 03-12-2011 08:57:12
, mais à l'heure du système a été 03-12-2011 01:57:12
(fuseau horaire Europe/Riga - corriger de temps en ce moment).
Quand j'ai changé de fuseau horaire "Europe/London", le temps a changé à 03-12-2011 06:57:12
( temps réel 02-12-2011 23:57:12
)
Temps retourné par date
/hwclock --show
était correcte (03-12-2011 01:57:12
avec système de fuseau horaire défini comme Riga)
OS: Debian 6.0
J'ai vérifié la plupart des questions relatives à des problèmes similaires sur SO/Google, mais ils semblent tous avoir tort fuseau horaire spécifié.
Aussi loin que je peux dire, il y a problème entre php -> os.
Bien sûr, parce que le mauvais temps décalage est toujours constante, que je pourrait amputer la différence, mais ce n'est pas une bonne solution.
Toutes les idées seront grandement appréciés.
date()
valeur? par exemple, date('Y-m-d H:i:s')
Oui -
date('Y-m-d H:i:s')
Qu'advient-il si vous utilisez
DateTime
de la classe de déterminer la date, en collaboration avec DateTimeZone
? Par exemple $d = new DateTime('', new DateTimeZone('Europe/Riga')); echo $d->format('Y-m-d H:i:s');
OriginalL'auteur relic | 2011-12-03
Vous devez vous connecter pour publier un commentaire.
Le problème ressemble à ce que j'ai vu sur un de mes serveurs. Regarde comme bug dans php 5.3.2-1. Essayez d'exécuter le script php dans le rapport de bug et afficher vos résultats.
OriginalL'auteur Arie Skliarouk
De lecture manuel PHP semble que le comportement de date.fuseau horaire est affecté par les paramètres de php.ini.
Il y a une autre manière de définir le fuseau horaire par défaut dans toutes les fonction date/heure et c'est le date_default_timezone_set. Essayez de le régler avec:
au lieu de votre date.fuseau horaire code.
OriginalL'auteur Marco Pace
Le fuseau horaire du système pourrait être mauvais. Il en résulte un changement dans un temps donné par le PHP la fonction date (), bien que les deux php date.le fuseau horaire (en php.ini) et de l'heure système du serveur sont corrects.
OriginalL'auteur user2317245
J'ai eu quelques problème avec le fuseau horaire trop. Cela peut être pratique pour quelqu'un.
Dans mon cas, Chili Sumer Temps CLST retourné mal timzeone décalage.
La mise à jour de la timezonedb a fonctionné pour moi.
Aller à: https://pecl.php.net/package/timezonedb
Pour Widnows Télécharger la dernière version de dll, copier dans "ext" répertoire. Modifier le php.ini et mettre en dessous de la ligne:
extension=php_timezonedb.dll
Pour Linux Vous pouvez utiliser :
pecl install timezonedb
et en php.ini:
extension=php_timezonedb.donc
OriginalL'auteur Piotr
Ce commentaire pour l'Azerbaïdjan fuseau horaire
J'ai un problème avec 'Asia/Baku" sur php 7.2 ou php version 7.1.
J'ai résolu le problème en "Europe/Bakou'
OriginalL'auteur Turan Zamanlı
Vous devez régler la date.fuseau horaire dans php.ini et redémarrez votre serveur
http://php.net/manual/en/timezones.php
date.timezone = "Europe/Riga"
.OriginalL'auteur Mehdi Izcool
PHP heure est basé sur l'époque échelle de temps qui est à l'heure GMT et, plus tard, l'heure UTC. La plupart des gens se réfèrent à lui comme le temps unix. Parce que PHP utilise le temps unix, les fuseaux horaires ne sont pas utilisés. Je crois en soustrayant le fuseau horaire heures en secondes est la bonne méthode pour régler les différences.
OriginalL'auteur Eddie