Neuigkeiten:

still alive...

Hauptmenü

Geburtstage vor 1970

Begonnen von moonlight, 16. Januar 2006, 18:51:51

Vorheriges Thema - Nächstes Thema

moonlight

Hallo @ all,
ich würde gerne in meiner DB den Geburtstag von jedem Mitglied haben. Um damit aber auch was anfangen zu können, sollte das Datum natürlich als Timestamp in der DB stehen. Die Daten vor 1970 ergeben aber einen negativen Wert und deshalb funktioniert die Funktion mktime nicht so wie sie soll.
Wenn ich z. B. beim Timestamper auf psrcipt.de das Datum 04.05.1967, 11:04 kommt als Timestamp -2 raus. Wenn ich den aber dann umrechne kommt 01.01.1970, 00:59 raus.
Gibt es da Alternativen?????
Liebe Grüße
Moonlight

Powie

ja, das in der datenbank nicht als unix timestamp speichern sondern als date

moonlight

Du meinst einfach in die DB schreiben \"04.05.1967\". Wäre mir egal, aber wie kann ich damit das Alter ausrechnen?

moonlight

Hallo Powie,
könntest Du vielleicht etwas genauer erklären, wie Du das mit dem date meinst? Ich bin nämlich nicht gerade der PHP-Freak, sondern stehen noch ziemlich am Anfang.
Es wäre halt schön, wenn ich mit dem Datum danach etwas anfangen könnte, wie z. B. das Alter ausrechenen. Geht das auch ohne Timestamp?
Viele Grüße
Moonlight

Powie

also wenn du einen unix timestamp speicherst, wird ja nur der Integer wert der Sekunden seid 1970 gespeichert.
Du kannst in einer Datenbank aber auch ein richtiges Datumsfeld speichern in dem dann auch echt sowas stehen kann wie:
2005-12-12
1956-10-04
1856-03-02
1745-05-24
usw. Somit hast du das Problem garnicht.

moonlight

In die DB kann ich das so einfügen, krieg ich hin. Dafür habe ich den Feldtyp in der DB auf date gesetzt und in den PHP-Code folgendes eingegeben:
 

birthday = \'$edit_user_year$edit_user_month$edit_user_day\',

 
 
Dann steht in der DB z. B. 1967-05-04 (die Bindestriche macht er selber).
Wenn ich jetzt aber das Alter ausrechnen will, weiß ich nicht, wie ich das mit so einem Datum machen soll. Und wie ich es für die Anzeige formatieren soll weiß ich auch nicht wirklich.  :gaga:

moonlight

Hallo Powie,
habe es jetzt hingekriegt.
In der DB steht das Datum so: 1967-05-04.
Formatiert wird es so: 4.5.1967 (für die Nullen muss ich mir noch was einfallen lassen).
Und das Alter wird über eine Funktion ausgerechnet. Hab ich nicht anders geschafft, obwohl es da bestimmt eine bessere Lösung gibt. Muss ich noch suchen.
Auf jeden Fall vielen Dank für Deine Hilfe, ich hätte da noch länger mit Timestamps experimentiert, denn die Datums-Funktion kannte ich noch nicht.
Viele Grüße
Moonlight

all your base are belong to us / Discord