Php, probleme de date

nazdreg -  
 nazdreg -
Bonjour,

j'ai un peu petit problème depuis un moment, et ca s'est aggravé depuis le changement d'horaire.

plutot qu'un long énoncé, voila 3 lignes de code qui illustrent le pb :

<?php
echo "<br>", date("Y-m-d H:i:s",time());
echo "<br>",mktime(21,51,0,3,30,2009);
echo "<br>", date("Y-m-d H:i:s",time());

?>


le resultat de la premiere ligne est : 2009-03-31 01:12:29
le resultat de la deuxieme ligne est: 2009-03-30 23:12:29

il y a un écart de deux heures qui semblerait se crée dès l'instant ou j'utilise la fonction mktime.
il est a noté qu'en local les deux résultats sont identiques. J'ai cherché sur le net, et mis a part des problèmes sans solution, je n'ai rien trouvé.

(j'ai pas précisé, mais ce que je cherche c'est a regler ce pb de décalage, et voir meme a le comprendre. La solution d'ajouter 7200 a time() dans la 3eme ligne n'est bien sur pas satisfaisante, étant donné que lors de mes utilisations de la fonction date(), la fonction mktime n'aura pas été forcément appelée.)

Merci d'avance pour votre aide.
A voir également:

13 réponses

nazdreg
 
petites corrections (désolé) :

le resultat de la premiere ligne est : 2009-03-31 01:12:29
le resultat de la deuxieme ligne est: 2009-03-30 23:12:29 <= de la 3eme en fait ..^^

et pour le fait que ce soit plus grave depuis le changement d'horaire, c'est qu'avant le décalage n'était que d'une heure (mais en local il n'y a jamais eu de décalage)
0
nazdreg
 
personne n'a la moindre idée ..?
0
afrodje Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   168
 
Qu'est ce que tu veux avoir?
Date du jour?
Date et heure du jour?
Date du jour + 2H?
...
0
nazdreg
 
ce que je voudrais c'est que le resultat de la fonction date() soit le meme que l'on ait fait appel ailleurs a mktime ou non.

dès l'instant ou on l'ou fait mktime, la fonction date se décale de deux heure, et c'est polutot problématique, et c'est donc ce problème que je voudrais regler (et ce sans passez par du +7200 a chaque utlisation de date() suivant un appel a mktime)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nazdreg
 
tjrs aucune idée ..?
0
nazdreg
 
up
0
nazdreg
 
...
0
nazdreg
 
bon, bah ... tant pi alors ..
0
JR des cavernes Messages postés 152 Date d'inscription   Statut Membre Dernière intervention   84
 
Je crois qu'il faut regarder du coté de la fonction gmmktime() qui fonctionne comme mktime() mais en tenant compte du décalage horaire (enfin il me semble)
0
nazdreg
 
ok, merci, je vais regarder de ce coté alors. (je reposterai pour dire ce que ca donne, ca pourrait servir a d'autres)
0
nazdreg
 
le resultat est le meme, le premier appel a date() donne une heure/date, et une fois l'appel fait a gmmktime() la fonction date() retourne une valeur avec 2 heures d'ecart.

comment se fait il que la fonction (gm)mktime change les parametres de la fontion date() ?

il n'y a pas un moyen de rendre date() invariable ?
0
nazdreg
 
up
0
nazdreg
 
personne n'aurait l'adresse d'un forum plus spécialisé où je pourrai trouver ma réponse ?
0
nazdreg
 
ok ..
0