alter ausrechnen

haldjo1

Erfahrenes Mitglied
Hi @all

ich will ein script programmieren das mir aus dem geburtsdatum und der aktuellen time das alter ausrechnet das
problem: ich hab keine ahnung wie ich das mit der altersdifferenz, bzw. mit den schlatjahren usw regle könnte mir da bitte jemand helfen
 
hmm,

einfach mit timestamps arbeiten, dann erhälst du das alter in Sekunden und das kannste dann wieder hochrechnen

zb.

PHP:
<?php
$heute = time();
$geboren = mktime(0,0,0,4,23,1973);
$alterinsekunden = $heute - $geboren;
$alterintagen = $alterinsekunden/60/60/24;
echo "Sie sind $alterintagen Tage alt !";
?>
 
Danke es geht zwar so weit, aber wenn jemand ein 1950 geboren ist, dann kommt irgendwie ein fehler .. und zwar nur eine ´34 raus, wenn ich es in Jahren hochrechne. Die tage stimmen dann auch nicht mehr.. Woran liegt das ?
PHP:
$heute = time();

$geboren = mktime(0,0,0,6,6,1950);

$alterinsekunden = $heute - $geboren;

$alterintagen = $alterinsekunden/60/60/24;

$alterinjahren = $alterintagen/365;

// runden nach null stellen nach dem komma 
$alterinjahren = sprintf ("%.0f", $alterinjahren); 

echo $alterinjahren;

Kann mir jemand helfen?
 
Zuletzt bearbeitet:
Hi!

Sorry, keine spezifische Antwort auf Deine Frage, aber auf php.net sind alleine vier Beispiele für die Berechnung des Alters.
Hoffe das hilft Dir...
 
Ich denke das Problem mit dem Jahr 1950 (und älter) liegt daran dass der timestamp erst seit ?1970? gezählt wird, und möglicherweise nicht so weit zurückberechnet werden kann.
 
Ja, daran wird's wohl liegen. Du könntest versuchen, vor dem ganzen Prozess mit einer if-Schleife zu überprüfen, ob das Jahr 1970 oder höher ist - falls nicht, berechnest du die Differenz (bei 1950 bspw. 20) und multiplizierst diese mit 31'536'000, der Anzahl Sekunden pro Jahr.
 
Zurück