Altersberechnung mit PHP

smartie

Grünschnabel
Hallo,

als Anfänger in der Programmiersprache bitte ich euch mir unter die Arme zu greifen...! :(

Also, ich habe folgenden Code

PHP:
<?php
$day_of_birth = "03.06.1976";

$array = explode(".",$day_of_birth);
$seconds_since_birth = mktime(0,0,0,$array[1],$array[0],$array[2]);
$today = time();

$age = $today - $seconds_since_birth;
$age_in_years = date("Y",$age) - 1976;

echo $age_in_years;
?>

Die Ausgabe von dem Script ist die Zahl: 22.

Das schmeichelt mir, denn ich bin 28 Jahre alt (jung!).
Ich weiß nicht, was ich falsch gemacht habe. Wie muss es korrekt aussehen?
Kennt jemand die Lösung? Bitte um Hilfe.

Danke im Voraus.

Gruß.

Eren
 
Dein Code hat anfangs gestimmt, aber das date("Y",$age) - 1976; hat da eher wenig zu suchen. Du hast zuvor ausgerechnet, wieviel Sekunden von deinem Geburtstag bis zum jetztigen Zeitpunkt vergangen sind. Mit date("Y",$age) rechnest du das Jahr aus, welches wir nach 01.01.1970 + den ausgerechneten Sekunden haben. Somit musst du eigentlich nur deine ausgerechneten Sekunden in Jahre umrechnen:

PHP:
<?php 
$day_of_birth = "03.06.1976"; 

$array = explode(".",$day_of_birth); 
$seconds_since_birth = mktime(0,0,0,$array[1],$array[0],$array[2]); 
$today = time(); 

$age = $today - $seconds_since_birth; 
$age_in_years = floor($age / 60 / 60 / 24 / 365);

echo $age_in_years; 
?>

Die floor()-Funktion rundet dabei das Ergebnis ab.
 
Hi,
solang du nur deinen eigenen Geburtstag ausgeben willst, passt das ja noch, aber sobald du eine Ausgabe machen willst, wo Leute vor der *nix-Zeit geboren worden sind, bekommst du Probleme.
Wollte es nur mal Anmerken...

mfg
 
Zurück