Comment récuperer les mois entre deux dates

msi79 395 Messages postés lundi 24 août 2009Date d'inscription 11 janvier 2018 Dernière intervention - 11 janv. 2018 à 22:59 - Dernière réponse : jordane45 19672 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 15 janvier 2018 Dernière intervention
- 15 janv. 2018 à 00:53
Bonjour,
j'aimerai reccuperer les mois entre deux dates . j'ai chercher un peu partout j'ai rien trouvé .

exemple 05/06/2017 au 11/03/2018 qui va afficher comme mois :
06
07
09
10
11
12
01
02
.
merci de bien vouloir m'aider
Afficher la suite 

3 réponses

Répondre au sujet
jordane45 19672 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 15 janvier 2018 Dernière intervention - Modifié par jordane45 le 12/01/2018 à 07:37
0
Utile
1
Bonjour

Tu pourrais ,par exemple, extraire le mois et l'année de tes deux dates puis à l'aide de deux boucles alimenter un array...
Tu n'as pas déjà traité un truc équivalent pour récupérer les jours dans une autre demande ?

Cordialement, 
Jordane                                                                 
jordane45 19672 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 15 janvier 2018 Dernière intervention - 12 janv. 2018 à 07:39
Tu pourrais aussi passer par des objets dates
Et dans une boucle incrémenter le mois pour aller de ta date de départ jusqu'à la date de fin.
La encore en alimentant un array ..

Je suis étonnée que tu n'aies pas trouvé d'exemple sur le net... Y'en a pourtant pas mal...
Commenter la réponse de jordane45
jordane45 19672 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 15 janvier 2018 Dernière intervention - 15 janv. 2018 à 00:53
0
Utile
Voici un code complet :
  <?php
  
  //activation des erreurs PHP
  error_reporting(E_ALL);
  ini_set('display_errors', TRUE);
  ini_set('display_startup_errors', TRUE);
  
  function debug($var,$title=""){
    echo "<br><b>".$title."</b>";
    echo "<pre>";
    print_r($var);
    echo "</pre>";
  }
  

  

   $date1 = new DateTime('2018-01-08');
  debug($date1,"date1");;
  
  $date2 = new DateTime('2018-11-05');
  debug($date2,"date2");

  $mois = array();
  $mois[] =  $date1->format('m');
  while($date1 <= $date2){
      $date1->add(new DateInterval("P1M"));
      $mois[] = $date1->format('m');
      
  }
  debug($mois,'Liste des mois');
?>


Ce qui donne :

date1

DateTime Object
(
[date] => 2018-01-08 00:00:00
[timezone_type] => 3
[timezone] => UTC
)


date2

DateTime Object
(
[date] => 2018-11-05 00:00:00
[timezone_type] => 3
[timezone] => UTC
)


Liste des mois

Array
(
[0] => 01
[1] => 02
[2] => 03
[3] => 04
[4] => 05
[5] => 06
[6] => 07
[7] => 08
[8] => 09
[9] => 10
[10] => 11
)


Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.