Bug dans la fonction date()

mic54800
WRInaute discret
WRInaute discret
 
Messages: 61
Inscription: 20 Juil 2008

Bug dans la fonction date()

Message le Lun Mar 22, 2010 23:23

Bonsoir ,
Je me sers en ce moment de la fonction date() pour afficher l'heure actuelle dans un fichier.
Hors, il est actuellement 23H21 et la fonction date('H:i', time()) me retourne 22h21 .
Y a-t-il une explication à ce phénomène plutôt étrange ?

PS: je ne sais pas si ça change quelque chose, mais je travail en local avec WAMPSERVER

Merci d'avance de m'éclairer !

Mic54800

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: Bug dans la fonction date()

Message le Mar Mar 23, 2010 2:11

Ton fuseau horaire n'est pas correctement configuré et est basé sur UTC ou BST? Regarde ce que donne 'e' ou 'T' dans date...

Jacques.

mic54800
WRInaute discret
WRInaute discret
 
Messages: 61
Inscription: 20 Juil 2008

Re: Bug dans la fonction date()

Message le Mar Mar 23, 2010 7:22

date('e', time()) et date('T', time()) renvoient UTC.
En regardant dans php.ini, j'ai trouvé la ligne :
date.timezone = UTC
En la modifiant, rien ne se passe ...


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: Bug dans la fonction date()

Message le Mar Mar 23, 2010 7:51

Tu as redémarré ton serveur après avoir modifié le php.ini ?

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Re: Bug dans la fonction date()

Message le Mar Mar 23, 2010 8:34

Redémarré ton serveur = redémarré ton serveur web. Pas la machine entière (sauf si c'est un windows :mrgreen:).

Sinon c'est plutôt normal. UTC c'est greenwich.
En France on est en UTC+1.
Ton serveur te renvoie une date sur le fuseau UTC. Donc sur le fuseau horaire juste avant celui sur lequel tu est situé physiquement.

Pour définir la timezone correctement directement dans ton script php (ainsi tu peut permettre à tes utilisateurs de choisir sur quelle timezone ils sont dans leurs préférences) :

Code: Tout sélectionner
date_default_timezone_set('Europe/Paris');


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Re: Bug dans la fonction date()

Message le Mar Mar 23, 2010 14:04

it's not a bug, it's a feature ;)

mic54800
WRInaute discret
WRInaute discret
 
Messages: 61
Inscription: 20 Juil 2008

Re: Bug dans la fonction date()

Message le Mar Mar 23, 2010 15:22

J'ai pensé à redémarrer le serveur ... mais trop tard, quand je n'étais plus devant le PC =)
J'ai donc modifiée la ligne date.timezone = UTC par date.timezone = Europe/Paris et tout marche formidablement !
J'ai enfin vu à quoi ressemble cette fameuse page php.ini que je n'avais encore jamais rencontré auparavant, ce n'est pas faute d'en avoir entendu parlé ...

Un grand merci à vous pour votre aide !

A très bientôt !
Mic54800


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité