Probleme utilisation time/mktime

Makari -  
 Makari -
Bonjour,

Je rencontre quelques problemes avec l'utilisation de time et mktime.
lorsque je fais appel a la fonction time() il me renvoie un nombre (celui de secondes depuis 1970 a priori)
ensuite, si j'utilise la fonction mktime, les appels suivants a la fonction time() seront décalés d'une heure (3600 secondes). Il va sans dire que c'est plutot genant, mes résultats sont tous décalés (mis a part ceux effectués avant l'appel a la fonction mktime).

y'a t il un moyen de contourner ce probleme ? (j'aimerai autant que possible eviter de mettre "+3600" aux resultats faisant intervenir time() qui suivent le premier appel a mktime() ..

Merci d'avance.

Mak
A voir également:

4 réponses

Makari
 
en fait le probleme n'est pas tout a fait celui que j'ai expliqué, je m'explique, j'ai fais un code simple pour illustrer :

echo "<br>il est :______________________", date("Y-m-d H:i:s",time());
echo "<br> time : _____________________", time();
echo "<br> mktime de date de time_______", mktime(date("H:i:s m-d-Y",time()));
echo "<br> mktime de date de time - time__", mktime(date("H:i:s m-d-Y",time()))-time();
echo "<br>il est :______________________", date("Y-m-d H:i:s",time());
echo "<br> time : _____________________", time();

ce code affiche les resultats suivants :

l est :_____________________2008-11-27 17:56:40
time : ____________________1227805000
mktime de date de time______1227808600
mktime de date de time - time_0
il est :____________________2008-11-27 16:56:40
time : ____________________1227805000

en fait la fonction time() retourne bien le meme resultat a chaque fois, mais la fonction date(), non.
une fois la fonction mktime utilisée, la fonction date() est décalée d'une heure
de plus, time() et mktime(date("H:i:s m-d-Y",time())) ne retournent pas le meme nombre de seconde, pourtant ca devrait etre le cas, si quelqu'un peut m'expliquer ce qui se passe, ca serait bien sympa de sa part.
0
Makari
 
personne n'a une idée ?
0
Makari
 
J'ai fini par opter pour la solution "bidouillage", j'ai ajouté/retranché (selon le cas) 3600 secondes ici et la, ca a l'air de fonctionner mais bon .. pas top pour la compréhension :/

Si quelqu'un trouve une solution, je reste preneur, a+
0
Droopy_ Messages postés 252 Statut Membre 25
 
J'ai utilisé ton code :
echo "<br>il est :______________________", date("Y-m-d H:i:s",time());
echo "<br> time : _____________________", time();
echo "<br> mktime de date de time_______", mktime(date("H:i:s m-d-Y",time()));
echo "<br> mktime de date de time - time__", mktime(date("H:i:s m-d-Y",time()))-time();
echo "<br>il est :______________________", date("Y-m-d H:i:s",time());
echo "<br> time : _____________________", time(); 

et ça me donne ça :
il est :______________________2008-11-27 19:31:39
time : _____________________1227828699
mktime de date de time_______1227828699
mktime de date de time - time__0
il est :______________________2008-11-27 19:31:39
time : _____________________1227828699

Ce qui me parait normal...
0
Makari
 
bin chez moi les résultats sont erronés, peut etre est ce dû au serveur, j'etais chez free avant (et tout marchait correctement) et je suis passé chez online, et depuis j'ai cet écart d'une heure.
0