Difficulté avec date() de PHP

Résolu
adaro2000 Messages postés 46 Statut Membre -  
adaro2000 Messages postés 46 Statut Membre -
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. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Je n'arrive pas à comprendre pourquoi date() du 26-10-2008 déconne sérieusement.

    Mais encore?
    1
  2. chico200987
     
    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. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Parfaitement!
      0
  3. adaro2000 Messages postés 46 Statut Membre 2
     
    Vous m'excusez le terme. Je suis dépassé par cela. Il y 2 jours presque que j'y travaille !
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      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
  4. adaro2000 Messages postés 46 Statut Membre 2
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. adaro2000 Messages postés 46 Statut Membre 2
     
    J'ai trouvé.
    Il me fallait utilisé la fonction date_default_timezone_set() pour tout gérer automatiquement.
    Merci pour vos contributions.
    0