Hallo zusammen,
ich habe da etwas, was ich nicht so ganz verstehe.
Ich habe eine User-Datenbank. deren Guburtsdatum als Timestamp abgelegt ist.
Nun möchte ich das aktuelle Alter einer Person ermitteln.
Meine Formel sieht dazu so aus:
$alter_array = explode(".", (time() - $cur['birthdate']) / (86400 * 365));
$alter = $alter_array[0];
Das Ergebnis aus aktuellem Timestamp minus Timestamp des Geburtsdatums geteilt durch 365 Tage (86400 Sekunden = 1 Tag).
Das Ergebnis ist eine Komma-Zahl, die ja nicht gerundet werden soll. Darum hole ich sie in ein Array und schneide nach dem Punkt ab.
Allerdings habe ich jetzt festgestellt, dass mir das Alter um ca. 2 Wochen zu früh angezeigt wird.
Die Berechnung des Geburtstags-Timestamp scheint zu stimmen. Wenn ich ihn zurüch rechnen lasse, habe ich exakt wieder das Datum.
Stimmt denn meine Berechnung nicht?
Ich werde jetzt mal die Server-Zeit überprüfen. Vielleicht fällt euch ja noch was dazu ein, as ich übersehen habe.
Grüße, Andi
ich habe da etwas, was ich nicht so ganz verstehe.
Ich habe eine User-Datenbank. deren Guburtsdatum als Timestamp abgelegt ist.
Nun möchte ich das aktuelle Alter einer Person ermitteln.
Meine Formel sieht dazu so aus:
$alter_array = explode(".", (time() - $cur['birthdate']) / (86400 * 365));
$alter = $alter_array[0];
Das Ergebnis aus aktuellem Timestamp minus Timestamp des Geburtsdatums geteilt durch 365 Tage (86400 Sekunden = 1 Tag).
Das Ergebnis ist eine Komma-Zahl, die ja nicht gerundet werden soll. Darum hole ich sie in ein Array und schneide nach dem Punkt ab.
Allerdings habe ich jetzt festgestellt, dass mir das Alter um ca. 2 Wochen zu früh angezeigt wird.
Die Berechnung des Geburtstags-Timestamp scheint zu stimmen. Wenn ich ihn zurüch rechnen lasse, habe ich exakt wieder das Datum.
Stimmt denn meine Berechnung nicht?
Ich werde jetzt mal die Server-Zeit überprüfen. Vielleicht fällt euch ja noch was dazu ein, as ich übersehen habe.
Grüße, Andi
Kommentar