Jump to content
Sign in to follow this  
moonlight

Geburtstage vor 1970

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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:

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...