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] Récupérer les dates entre deux timestamp donnés


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut [Dates] Récupérer les dates entre deux timestamp donnés
    Bonsoir !

    J'ai 2 timestamp :

    $debut= 1230678000 // 31 12 2008
    $fin = 1231110000 // 05 01 2009

    Je sais récupérer le nombre de jours entre ces deux, mais je voudrais récupérer les date de ces jours.

    Donc avoir le résultat :
    31 12 2008

    01 01 2008 //
    02 01 2008 //
    03 01 2008 //
    04 01 2008 //

    05 01 2009

    ////
    Ha ! En faite en écrivant mon problème je crois que je viens de trouver la solution.

    Peut être comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $nbr_jours = 6;
     
    for($i = 0 ; $i < $nbr_jours ; $i++)
     {
     $date = 1230678000 ; // On commence avec la date initial
     $jour[$i] =  $date + 86400 ; // On y ajoute une journée
     $date = $jour[$i] ;// On met la nouvelle valeur a date
     echo $jour[$i].'<br />'; // affichage du résultat en timestamp pour le test
     }
    Je ne suis pas sur de ce que je fait, je suis complètement crevé. Pouvez-vous me corriger s'il svp ? parce que même fatigué je sent qu'il y a un petit soucis.

    Je vais me reposer un peu, merci d'avance bonne soirée, a demain !

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Les premières choses qui me viennent à l'esprit, ce sont ces modifs :

    L'initialisation de ta date de départ doit bien sûr être AVANT ta boucle...
    De même que l'affichage de cette date initiale.


    Dans la boucle, tu crées une variable $date, sers-t-en pour l'affichage...

    Un dernier commentaire :

    Je ne sais pas de tête ce que donne ton 86400 (sont-ce bien 24H ?)... Pour ne pas te fatiguer à calculer, tu peux garder la forme intuitive pour les secondes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $jour[$i] =  $date + (24*3600);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $nbr_jours = 6;
     // Date initiale
     $date = 1230678000;
    //puis il faut bien afficher une première fois ta date de départ
     echo $date.'<br />';;
     
    for($i = 0 ; $i < $nbr_jours ; $i++)
     {
     
     $jour[$i] =  $date + 86400 ; // On y ajoute une journée
     $date = $jour[$i] ;// On met la nouvelle valeur a date
     echo $date.'<br />'; // affichage du résultat en timestamp pour le test
     }
    edit : j'ai testé, en tout cas, ce code donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    1230678000
    1230764400
    1230850800
    1230937200
    1231023600
    1231110000
    1231196400
    A toi de remettre ça sur pattes et de vérifier avec les dates (fonction date)

    http://fr.php.net/manual/fr/function.date.php
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      $debut= 1230678000; // 31 12 2008
      $fin = 1231110000; // 05 01 2009
     
      while ($debut <= $fin)
      {
        echo date('Y-m-d', $debut) . '<br>';
        $debut += 86400;
      }

  4. #4
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2007
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2007
    Messages : 290
    Points : 209
    Points
    209
    Par défaut
    Merci à tous les deux ! Les deux réponses me conviennent !

    Merci

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

Discussions similaires

  1. Récupérer tous les jours entre deux dates
    Par GsusNET dans le forum Développement
    Réponses: 7
    Dernier message: 26/07/2023, 11h44
  2. Réponses: 3
    Dernier message: 07/09/2010, 20h57
  3. Réponses: 2
    Dernier message: 25/02/2008, 23h40
  4. [Dates] Les mois entre deux dates
    Par kagura dans le forum Langage
    Réponses: 2
    Dernier message: 28/06/2006, 11h38
  5. [Dates] intervalles entre deux timestamp
    Par maysa dans le forum Langage
    Réponses: 7
    Dernier message: 15/12/2005, 20h37

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