Hallo, ich habe ein Problem mit der Altersberechnung mit PHP
Ich habe eine Mitlgiederdatenbank, in der unter anderem auch das Geburtsdatum in 3 Spalten (btag, bmonat, bjahr) gespeichert wird. Ich lasse diese nun auslesen und benutze das untenstehende Script. Zwar wird mir immer der Wert ausgegebn, doch stimmt er in den meisten Fällen nicht. Oft sind Leute 15 obwohl sie nur 14 sind. Kann mir irgendjemand helfen? Liegt es vielleicht an Schaltjahren? Vielleicht habt ihr ja ein besseres Script.
Nochmal kurz zur Datenspeicherung in der DB:
Spalte btag: 1
Spalte bmonat: 1
Spalte bjahr: 1987
oder
Spalte btag: 9
Spalte bmonat: 11
Spalte bjahr: 1974
So werden die Daten gepseichert
ICh danke schonmal im Vorraus
Hoffe um Antworten
Ich habe eine Mitlgiederdatenbank, in der unter anderem auch das Geburtsdatum in 3 Spalten (btag, bmonat, bjahr) gespeichert wird. Ich lasse diese nun auslesen und benutze das untenstehende Script. Zwar wird mir immer der Wert ausgegebn, doch stimmt er in den meisten Fällen nicht. Oft sind Leute 15 obwohl sie nur 14 sind. Kann mir irgendjemand helfen? Liegt es vielleicht an Schaltjahren? Vielleicht habt ihr ja ein besseres Script.
Nochmal kurz zur Datenspeicherung in der DB:
Spalte btag: 1
Spalte bmonat: 1
Spalte bjahr: 1987
oder
Spalte btag: 9
Spalte bmonat: 11
Spalte bjahr: 1974
So werden die Daten gepseichert
ICh danke schonmal im Vorraus
Hoffe um Antworten
PHP:
$geb_date = "$btag.$bmonat.$bjahr";
$geb = explode(".",$geb_date);
$heute_date = date("d.m.Y",time());
$heute = explode(".",$heute_date);
if($geb[0] < $heute[0]){
if($geb[1] < $heute[1]){
$alter = $heute[2] - $geb[2];
}else{
$alter = $heute[2] - $geb[2] - 1;
}
}else{
if($geb[1] < $heute[1]){
$alter = $heute[2] - $geb[2];
}else{
$alter = $heute[2] - $geb[2] - 1;
}
}
echo "$alter";