IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] comportement étrange de strtotime


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Dates] comportement étrange de strtotime
    Bonjour à tous.

    Mon problème est le suivante : j'utilise une fonction php pour construire un tableau de dates (format string AAAAMMJJ ) comprises entre deux bornes.
    Voici la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function listdatesinter($d1,$d2){
    	$tabres=array();
    	if($d1!=''){
        	$tabres[]=$d1;
        	while($d1!=$d2){
        	    $d1=date('Ymd',strtotime($d1)+86400);
        	    $tabres[]=$d1;
        	}
        	$tabres[]=$d2;
    	}
    	return $tabres;
    }
    la variable $d1 représente mon premier jour (au format 'AAAAMMJJ' ) et $d2 la date de fin (obligatoirement supérieure ou gale à $d1.
    Dans certains cas, le cacul s'arrete sur une date ('20081026' pour ne pas la citer) et par conséquent la boucle while ne peut s'arréter.
    Je suis perplexe...

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Le 26/10, on passe à l'heure d'hiver Donc ajouter 86400 secondes ne suffit pas pour changer de jour.

    Une solution, ajouter un jour avec strtotime :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $d1 = date('Ymd', strtotime("+1 day", strtotime($d1)));

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Super merci du tuyau
    Yep

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-00] Transmission de dates ByRef - comportement étrange
    Par Laestic dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/12/2008, 21h08
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo