Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Mit Datum Rechnen Antworten
Mit Datum Rechnen

tinelli
Pixelschubser


Beiträge: 2


Moin zäme

Ich möchte in meiner Homepage (eine Nachhilfevermittlung) eine Registrierung einbauen. Für Besucher soll es dann möglich sein, die Details aller registrierten Benutzer anzuschauen, darunter auch das Alter. Nun möchte ich bei der Registrierung natürlich nicht das Alter, sondern das Geburtsdatum einlesen (und in einer MySQL-Tabelle speichern). Momentan habe ich das als einen Text (dd.mm.yyyy) gespeichert, aber ob das die besste ist bleibe dahingestellt.
Wie deichsle ich das nun am einfachsten, dass ich danach das Alter berechnen kann? Und ist es einfacher das ganze zu Beginn in das timestap-Format umzuwandeln (und wie ginge das?)?

Gruss
Martin

  Profil   Website   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241


Hallo,
ich würde an deiner Stelle mit timestamps arbeiten.

mit mktime() kannst du aus einem Datum einen timestamp erzeugen, mit Date kannst du diesen dann wieder in ein normales Format umwandeln.
Wenn du es als Zahl ausgeben möchtest, erhältst du durch das Subtrahieren des angegebenen timestamps vom aktuellen timestamp ( time() ) dann das Alter in Sekunden . Das dann durch (3600*24*365,25) dividieren und du hast es in Jahren. Die elendigen Kommastellen wirst du entweder durch explode oder durch substr los.



  Profil   Editieren   Zitieren

tinelli
Pixelschubser


Beiträge: 2


hallo einstein

danke für die schnelle antwort!
mit dem mktime-befehl habe ich schon ein Bisschen gespielt, leider immer mit Misserfolg. Wie muss das Argument genau aussehen (String ja/nein, Format...)

Martin

  Profil   Website   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241


Hallo,

ganz einfach wie auf PHP.net beschrieben:
für heute z.B.
1:
mktime(0,0,0,12,18,2002);


Wenn du deine bisherigen Daten nach dem Schema dd.mm.yyyy umrechnen möchtest dann geht das so:
1: 
2: 
3: 
4:
$datum = explode(".",$deindatum);
$timestamp = mktime(0,0,0,$datum[1],$datum[0],$datum[2]);

  Profil   Editieren   Zitieren
 

Antworten
Nach oben