Une fonction retournant l'âge depuis une date de naissance

retour à la caverne

         <?php 
         /*
                                             \\\\\\///
                                              \ ~ ~ /
                                             _( @ @ )_
                                           /   \   /   \
                               ____________oOOo_ Q _oOOo______________
                              |                                       |
                              |           Par David Lannoy            |
                              |        www.optimal-effect.com         |
                              |  contact[at]optimal-effect[point]com  |
                              |           ___         ___             |
                              |__________/---\_______/---\____________|
                                         ¨¨¨¨¨       ¨¨¨¨¨
          */
                     
          function retournAge( $naissance ) {
              // On explose la date de naissance et on la stocke 
              // dans leur variable respective
              list( $jour, $mois, $annee ) = explode( '/', $naissance );
                          
              // On récupère la date d'aujourd'hui dans un array
              $now = array( 'J' => date('j'),
                       'M' => date('n'),
                       'A' => date('Y') );
                          
              // On part du principe que le visiteur n'a
              // pas encore fêté son anniversaire cette année
              // On déduit donc son année de naissance de l'année en cours
              $age = $now['A'] - $annee;
                          
              // Si le mois de naissance du visiteur est plus 
              // lointain que ce mois-ci, il n'a pas encore fêté
              // son anniversaire, on lui enlève 1 an
              if( $mois > $now['M'] ) {
               $age = $age - 1; // on lui enlève une année
              }
                          
              // Sinon si ce mois-ci correpond au mois de naissance du visiteur 
              // et que le jour de naissance est plus grand que ce jour
              elseif( $now['M']==$mois && $jour>$now['J'] ) {
                          $age = $age - 1;
              }
                          
            return $age;
          }
                  
          // Exemple d'utilisation :
                  
          $date_naissance = '05/05/1975';
          echo intval( retournAge($date_naissance) ).' ans';
          ?>
         


No comment !

Sans commentaire maintenant :

         <?php                   
         function retournAge( $naissance ) {
            list( $jour, $mois, $annee ) = explode( '/', $naissance );
            $now = array( 'J'=>date('j'), 'M'=>date('n'), 'A'=>date('Y') );
      
            $age = $now['A'] - $annee;
            if( $mois > $now['M'] ) $age = $age - 1;
            elseif( $now['M']==$mois && $jour>$now['J'] ) $age = $age - 1;
                      
            return $age;
         }
                  
         $date_naissance = '05/05/1975';
         echo intval( retournAge($date_naissance) ).' ans';
         ?>
         

retour à la caverne