Difficulté avec date() de PHP

Résolu
Bonjour,

Je n'arrive pas à comprendre pourquoi date() du 26-10-2008 déconne sérieusement.

Voici mon code :

<?php

$fin=time();
$deb=$fin-(25*24*60*60);

$fin='2008-10-23';
$deb='2008-10-27';

list($y_fin,$m_fin,$d_fin)=explode('-',$fin);
list($y_deb,$m_deb,$d_deb)=explode('-',$deb);

$t_deb=mktime(0,0,0,$m_deb,$d_deb,$y_deb);
$t_fin=mktime(0,0,0,$m_fin,$d_fin,$y_fin);

$r_fin=$t_fin+(60*60*24);

while($r_fin>$t_deb) {
$day=$t_deb+(60*60*24)-1;
echo 'Debut :'.date('Y-m-d H:i:s',$t_deb).'          Fin :'.date('Y-m-d H:i:s',$day);
echo '<br/>Debut :'.$t_deb.'                       Fin :'.$day;

$t_deb=$day+1;
echo "<hr/>";
}

?>

Pouvez-vous m'aider ? Merci d'avance.
Configuration: Windows XP
Firefox 3.0.3

5 réponses

  1. Modérateur
    Je n'arrive pas à comprendre pourquoi date() du 26-10-2008 déconne sérieusement.

    Mais encore?
    1
    1. Ce n'est pas le terme employe qu'il te reproche, mais ton erreur n'est pas du tout explicite, dit ce qu'il ne fonctionne pas, ce que tu aimerais faire et et que tu obtiens... Ca sera peut-etre plus facile de t'aider par la suite....
      1
      1. Modérateur
        Parfaitement!
        0
    2. Vous m'excusez le terme. Je suis dépassé par cela. Il y 2 jours presque que j'y travaille !
      0
      1. Modérateur
        Oh c'est pas le terme qui dérange. On peut déconner, ya pas de soucis :-)
        Non c'est juste que tu ne nous dit pas où quel est le problème.
        Un message d'erreur? Un calcul bizzare..?
        0
    3. Ok.

      Dans le code, j'incrémente le timestamp par (60*60*24)-1 secondes afin de lancer une requête avec le date('Y-m-d H:i:s') obtenu. Tout marche bien avec les dates antérieures, mais avec le 26-10-2008, le date('Y-m-d H:i:s') renvoyé, au lieu que ce soit 2008-10-26 23:59:59, il me retourne 2008-10-26 22:59:59 ; les résultats ne sont donc plus bons.

      Je ne sais pas si c'est du à un mauvais usage de date ou ...

      Pouvez-vous m'aider ?
      0
      1. J'ai trouvé.
        Il me fallait utilisé la fonction date_default_timezone_set() pour tout gérer automatiquement.
        Merci pour vos contributions.
        0