D'un format date anglais au format français et calcule d'âge
Bonjour,
Je cherche à convertir ma variable 'date_naissance' au format de date français et calculer l'âge puis l'affiche en html.
la variable affiche 0 et une erreur comme "a non well formed numeric value encountered".
Je ne sais pas pourquoi Age prend la valeur de 0 alors qu'un peu plus haut avec un var_damp() je vois bien que la variable elle a la date en format français d-m-Y.
Je vous remercie d'avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <?php $sql = " SELECT `nom_cochon`, `nom_pere`, `nom_mere`, `date_naissance` FROM `cochon_infos`"; ?>
<?php
// Calcule l'âge à partir d'une date de naissance jj/mm/aaaa
function Age($date_naiss)
{
$am = explode('/', $date_naiss);
$an = explode('/', date('d/m/Y'));
if(($am[1] < $an[1]) || (($am[1] == $an[1]) && ($am[0] <= $an[0])))
return $an[2] - $am[2];
return $an[2] - $am[2] - 1;
}
$datenaiss = '07/06/1989'; // test
$age = Age($datenaiss); //test
echo $age; //test
?> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <div class="row">
<?php foreach($pdo->query($sql) as $row) { ?>
<div class="col-md-3 col-sm-6">
<div class="product-grid6">
<div class="product-image6">
<a href="#">
<img class="pic-1" src="images/katy-cochon.png">
</a>
</div>
<div class="product-content">
<h3 class="title"><a href="#"><?php print $row['nom_cochon']; ?></a></h3>
<?php
$dateNaissCochon = $row['date_naissance']; // Y-m-d
//inverser la date (format français)
list($date, $time) = explode(" ", $dateNaissCochon);
list($year, $month, $day) = explode("-", $date);
list($hour, $min, $sec) = explode(":", $time);
echo "date format francais ".$dateNaissCochon = "$day/$month/$year $time". "</p>";
//calculer l'age
echo "var_damp ->"; var_dump($dateNaissCochon);
$datenaiss = $dateNaissCochon; // affiche bien d/m/Y
$age = Age($dateNaissCochon);
echo "Age : ?" . $age . "<br>"; //résultat "Age : 0", erreur : a non well formed numeric value encountered
?>
<span class="product-shipping">Age : <?php print $dateNaissCochon; ?></span><br> // format français d-m-Y
<span class="product-shipping">Nom du père : <?php print $row['nom_cochon']; ?></span> <br>
<span class="product-shipping">Nom de la mère : <?php print $row['nom_mere']; ?></span><br>
</div>
<ul class="social">
<li><a href="" data-tip="Contact"><i class="fa fa-search"></i></a></li>
<li><a href="" data-tip="Détails"><i class="fa fa-shopping-bag"></i></a></li>
</ul>
</div>
</div>
<?php }?> |