Donnerstag, 8. Januar 2009

PHP: Alter berechnen

Jede Menge Scripte berechnen das Alter. Na, eigentlich eines, das immer wieder zitiert wird, und falsch ist, es rechnet nämlich in Tagen und vergisst dabei die Schaltjahre. Naja, nicht so dramatisch wenn hier Kindergeburtstage ausgegeben werden, aber bei allen Älteren schon problematisch...
$age = intval(($jetzt - $geburt) / (3600 * 24 * 365));

Es gibt auch welche (eines z.B. hier), wo es funktioniert, das finde ich aber recht kompliziert und vor allem lang.


function getAlter($geburtsdatum, $vondate=0)
{
if(empty($vondate))$vondate=time();
$geburt = strtotime($geburtsdatum);
$jahre = date("Y", $vondate)-date("Y", $geburt);
if (date("m", $vondate) < date("m", $geburt) ||
(date("m", $vondate) == date("m", $geburt) &&
date("d", $vondate) < date("d", $geburt)))
$jahre--;
return $jahre;
}

Keine Kommentare:

Kommentar veröffentlichen