Hi!
Wie kann ich anhand des aktuellen Datums mit PHP das Alter errechnen und in eine neue Variable schreiben?
Das Problem an den bereits erwähnten Methoden, einen Unix-Timestamp daraus zu machen und dann damit zu rechnen, ist, dass damit nicht selten nur ein eingeschränkter Bereich abgedeckt ist. Er ist ja als Anzahl der Sekunden seit 1.1.1970 UTC definiert. Die Beschränkung des Wertebereichs des Typs Integer und andere Einschränkungen im System garantieren oft nur eine Abdeckung von 1970 bis mitten im Jahr 2038. Mit negativen Timestamps reicht der Bereich nach unten bis irgendwann im Jahr 1901. Auf einen noch größeren Wertebereich sollte man sich nicht verlassen.
Desweiteren ist das Rechnen mit Datumswerten nicht sehr einfach. Sekundenbasiert zu rechnen macht es nicht viel besser. Seit PHP 5.2 steht aber die DateTime-Klasse plus ein paar weitere hilfreiche zur Verfügung, die all die Besonderheiten bei der Datumsarithmetik berücksichtigen und unter anderem das Bilden der Differenz zweier Daten ermöglichen.
Allerdings arbeiten diese Funktionen, wie so oft üblich, mit der Schreibweise yyyy-mm-dd. Es ist grundsätzlich empfehlenswert, wenn du Datümer™ immer in dieser Form verarbeitest. Zum Ausgaben kannst du sie umformatieren, beim Einlesen solltest du sie parsen und in diese Form bringen.
Lo!