Partage
  • Partager sur Facebook
  • Partager sur Twitter

Boucler une date

    21 mars 2019 à 17:14:40

    Bonjour,

    je cherche à ajouter un an à une date donnée et ce à chaque tour de boucle.

    $durée = 5;

    $date = date("Y-m-d");

    est ce qu'il vaut mieux faire une boucle for ou une boucle while ?

    -
    Edité par Php-200 21 mars 2019 à 17:16:17

    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2019 à 22:29:08

      Merci Julp,

      Est ce que tu aurais un exemple stp, car là comme ça je ne vois pas trop.

      Je ne suis pas sure que ça soit ce qui me convienne.

      Dans tous les exemples vus, une date de fin était définie hors moi c'est ce que je recherche.

      Je n'ai que deux paramètres pas trois.

      • Partager sur Facebook
      • Partager sur Twitter
        21 mars 2019 à 22:57:58

        Tu as lu la doc ? Il y a des exemples (en commentaires aussi) et vu la forme :

        public __construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences [, int $options ] )
        

        qui permet de boucler par rapport à un nombre d'itérations plutôt que de définir une date de fin ?

        > Je n'ai que deux paramètres pas trois.

        De quoi tu parles ? Quels paramètres ?


        const NB = 5; # nb de fois à boucler (+/- la date de départ - décommenter l'option EXCLUDE_START_DATE pour l'exclure)
        $ref = new DateTime(); # la date de départ (date/heure courantes ici)
        # la boucle
        foreach (new DatePeriod($ref, DateInterval::createFromDateString('1 year'), NB/*, DatePeriod::EXCLUDE_START_DATE*/) as $dt) {
            # tu fais ta petite cuisine avec le DateTime calculé pour l'itération courante $dt
            # là c'est juste un affichage pour tester/illustrer
            echo $dt->format('Y-m-d'), PHP_EOL;
        }
        

        Résultat :

        2019-03-21
        2020-03-21
        2021-03-21
        2022-03-21
        2023-03-21
        2024-03-21
        

        -
        Edité par julp 21 mars 2019 à 23:03:08

        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2019 à 10:30:48

          Merci pour tes explications, c'est top !

          ça m'a permis de mieux comprendre, il y avait des choses qui m'avaient échappées.

          • Partager sur Facebook
          • Partager sur Twitter

          Boucler une date

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown