Zitat:
Zitat von Heinrich
Das kriegst du ja nicht mit einem SQL-Statement in die DB, wenn dort erst das Geburtsdatum eingetragen sein muss, um das Alter berechnen zu können.
|
Das könntest Du auch in einem Aufwasch erledigen:
INSERT INTO tabelle (...) VALUES ( ... berechnung ...)
Da Du aber eh die Daten für die SQL Abfrage aufbereiten mußt, kannste Dir das mal angucken:
http://test.php-help.info/age/index.php
Der Algorithmus arbeitet bis in alle Ewigkeiten:
1. Differenz der Jahreszahlen bilden
2. nachgucken, ob der Betreffende schon Geburtstag hatte. Falls nicht, dann isser ein Jahr jünger.
Zitat:
Festhalten will ich, dass PHP sehr wohl mit einem Timestamp vor dem 1.1.1970 rechnen kann.
|
Das ist systemabhängig und somit unzuverlässig. Timestamp ist eine vorzeichenlose Integerzahl. Der Wert beginnt mit 0x0 und endet mit 0xFFFFFFFF. Und hoffentlich lassen die sich da rechtzeitig eine Erweiterung einfallen, weil mich sonst meine Server zweitausendpaarunddreißig mit der Meldung überraschen würde, es wäre der 1.1.1970 nachts um 1:00. Allerdings werde ich das wohl nicht mehr erleben... 58+31=89 Jahre.
Alle anderen Überraschungen sahen allerdings so aus, daß Datumsberechnungen auf Timestampbasis einige unangenehme Begleiterscheinungen hatten, die zT. mit der Sommerzeit zusammenhingen. Seitdem lasse ich MySQL sowas ausrechnen.