Comment calculer l’âge à partir de la date de naissance en PHP

Certaines applications Web ont besoin d’afficher l’âge de l’utilisateur. Dans ce cas, vous devez calculer l’âge de l’utilisateur à partir de la date de naissance. Nous allons voir un extrait de code PHP permettant de calculer l’âge à partir de la date de naissance.
 
 
Dans le code suivant, les fonctions date(), date_create() et date_diff() permettent de calculer l’âge de l’utilisateur jusqu’à aujourd’hui en PHP.
 

Code source :
<?php
	$dateNaissance = "15-06-1995";
	$aujourdhui = date("Y-m-d");
	$diff = date_diff(date_create($dateNaissance), date_create($aujourdhui));
	echo 'Votre age est '.$diff->format('%y');
?>

Sortie:

Votre age est 26
QCM sur PHP

2 réflexions sur “Comment calculer l’âge à partir de la date de naissance en PHP

  • avril 27, 2020 à 7:48 am
    Permalien

    Salut waytolearnX, merci pour ce code source court et efficace !

    Cependant, j’ai un petit problème.

    Ton code fonctionne parfaitement avec une date « d-m-Y » rentrée à la main.
    J’aimerai pour ma part prendre une date de naissance au format DATE dans mon phpmyadmin,
    qui est donc au format « Y-m-d ». Tu as une astuce? j’ai déjà ouvert mysql dans mon code, je n’ai plus qu’à utiliser le type correspondant, qui se nomme « Date_De_Naissance »!

    Merci d’avance !

    Répondre
    • avril 27, 2020 à 11:55 am
      Permalien

      Bonjour Antoine,

      Il suffit de récupérer la date « Date_De_Naissance » a partir de Mysql et l’affecter à la variable « $dateNaissance » dans votre code PHP, voici un petite exemple:

      // Connexion à la base de données MySQL 
      $conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
      
      $query = "SELECT Date_De_Naissance FROM users";
      $res = mysqli_query($conn, $query);
      
      while($row = mysqli_fetch_array($res)) {
      	$dateNaissance = $row['Date_De_Naissance'];
      	$aujourdhui = date("Y-m-d");
      	$diff = date_diff(date_create($dateNaissance), date_create($aujourdhui));
      	echo 'Votre age est '.$diff->format('%y');
      }
      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *