yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

Alter berechnen

Mit diesem Script kann man das Alter einer Person berechnen, sofern man dessen Geburtsdatum hat.

Hierfür hat man eine kleine Funktion, die dies zu berechnen vermag.

PHP-Datei:
1
2
3
4
5
6
7
8
9
10
11
12
<?
function bday($tag,$monat,$jahr) {
$heute=time();
$bday=mktime(0,0,0,$monat,$tag,$jahr);
$altzeit=($heute-$bday)/(3600 24 365);
$alt=floor($altzeit);

return 
$alt;
}

echo 
"Phil Marx ist ".bday(14,12,1984)." Jahre alt";
?>


Man ruft die Funktion mit 3 Parametern auf: Zuerst den Tag, anschließend den Monat und zuletzt das Jahr (vierstellig) des zu berechnenden Alters.

Die Funktion ermittelt zuerst die aktuelle Zeit in Sekunden seit 1.1.1970 (time()), danach die Zeit, die zum Zeitpunkts des angegebenen Geburtstags seit 1.1.1970 vergangen ist (mktime()).

Daraus kann man nun die Differenz bilden, das ergibt dann die Sekunden, die seit dem angegeben Datum bis heute vergangen sind. Nun wollen wir aber nicht die Sekunden, sondern die Jahre, deswegen müssen wir den Wert durch 3600 (60 Sekunden x 60 Minuten=1 Stunde) x 24 (Stunden=1 Tag) x 365 (Tage=1Jahr) teilen.
Nun wird der ermittelte Wert abgerundet und man hat das aktuelle Alter einer Person.

Geschrieben von Phil Marx am 18.06.2004 (8794x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

hallo,

interessant wäre es wenn man das Alter berechnen kann wenn das Geburtsjahr früher ist als 1970.
Geschrieben von Tom
So müsste das funktionieren:

<?php
function alter($gebd,$gebm,$geby){
return checkdate($gebm,$gebd,$geby) ? (((date("m")-$gebm) < 0) || ((date("d")-$gebd == 0) &&

(date("d")-$gebd < 0)) ? date("Y")-$geby-1 : date("Y")-$geby): false;
}

// Aufruf erfolgt Tag,Monat,Jahr
// Bei Erfolg wird Alter sonst false zurückgegeben
echo alter(16,06,1910);

?>
Geschrieben von DWSoft
Schade nur, dass nicht jedes Jahr 365 tage hat.
Geschrieben von Lonestar