Php : nombre de jour dans un mois

juliie Messages postés 29 Statut Membre -  
 dssdqsd -
Bjr,
je voudrais savoir comment obtenir le nombre de jours que contient un mois en php en sélectionnant ce mois et l'année voulu avant dans une liste déroulante.
Je sais que pour le mois en cours c'est date("t") et qd je le combien avec mktime ça foire.
Qq'1 peut m'aider?
Merci.

5 réponses

  1. seber66
     
    Tout simplement

    $nb_jour = date('t',mktime(0, 0, 0, $mois, 1, $année));

    trouvé là

    http://www.comscripts.com/sources/php.combien-de-jours-dans-le-mois.16.html

    dans les commentaires
    7
    1. Profil bloqué
       
      N'oublies pas résolu, en haut à droite, ou pose de nouvelles questions !
      0
    2. speedygonzales
       
      Warning: mktime() expects parameter 4 to be long
      0
  2. PhP Messages postés 1774 Statut Membre 606
     
    Bonsoir Julie,

    Trouver sur www.php.net

    function getDaysInMonth($month=null,$year=null) {
    
    if ($month==null) {
    $month = date("n",time());
    }
    if ($year=null) {
    $year = date("Y",time());
    }

    $dim = date( "j", mktime(0, 0, 0, $month + 1, 1, $year) - 1 );

    return $dim;
    }


    Teste et vois si ca marche

    PhP    [Push the button,Don't push the
    .         button,Trip the station,Change the channel]
    2
    1. speedygonzales
       
      Ya une fonction qui existe en php:
      http://php.net/manual/fr/function.cal-days-in-month.php
      0
  3. batmat Messages postés 1880 Date d'inscription   Statut Membre 114
     
    Alors, ça donne quoi, Julie ?

    @++

    Vous hésitez entre Linux et Windows ?
    Vous voulez dépenser du temps ou de l'argent ?
    0
  4. Thierry
     
    Bonjour,

    Je ne suis pas Juile, mais je tiens à te dire bravo. Je n'y avais pas pensé !! :P utiliser le TS du premier jour du mois suivant moins une seconde. Encore Bravo

    Thierry
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    salut,

    et pourquoi ne pas utiliser 'date('t')' ?
    function getDaysInMonth($month=null,$year=null) {
    
      if ($month==null) { 
    
           $month = date("n",time());
    
      }
    
       if ($year=null) {
    
           $year = date("Y",time());
    
       }
    
      $dim = date( "t", mktime(0, 0, 0, $month, 1, $year) );
    
      return $dim;
    
    }

    -1
    1. seber66
       
      ne gère pas les années bisextiles
      0
    2. Justin
       
      "ne gère pas les années bisextiles"

      Vraiment pas ! Car date('t') retourne 30 ou 31 correctement pour tous les mois et 28 ou 29 pour le mois de février, que l'année soit bissextile ou non. Donc les 2 manières citées sont correctes.
      0
    3. Gaelin1 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   5
       
      c'est bizarre quand je teste les années bisextiles ne sont pas gérées... Février m'affiche toujours 29 jours !

      il faut virer les IF !!! pour que ça marche...

      sinon la fonction vous met tout à NULL

      soit :

      function getDaysInMonth($month,$year)
      { $dim = date( "t", mktime(0, 0, 0, $month, 1, $year));
      return $dim;
      }
      0
    4. Papymucho
       
      // Ma petite pierre à l'édifice, en espérant que ça serve à d'autres :

      function GetNbDays ($month = null, $year = null)
      {
      $month = ($month) ? $month : date('m');
      $year = ($year) ? $year : date('Y');

      return intval(date("t",strtotime("$year-$month-01")));
      }
      0
    5. dssdqsd
       
      qssqsqsqsqqqqqqqqqq
      
          
      0