MySQL-Zeit fomatieren

Moritz Zbocna

Mitglied
Hallo,
Ich speicher in meine MySQL DB mit der NOW() Funktion in eine Zelle (DATETIME) einen Wert ein.
Wenn ich diesen Ausgebe ist der Wert so: "0000-00-00 00:00:00" formatiert.

Alle meine Versuche den Wert als "01.01.2006 01:26" ausgeben zu lassen waren erfolglos.
Wie geht das...
sad.gif


Moritz
 
Zeit speicherst du am besten immer mittels time(); in der datenbank ab.

Warum?
Weil du mit time den timestamp zurückkriegst und den auf einfache art und weise verändern kannst. Willst du in naher zukunft mal was mit der Zeit ausgeben lassen, stehst mit anderen funktionen schon an.


Hast du den Timestamp in der Datenbank, kannst du ihn auf einfach art und weise an deine Wünsche anpassen, und zwar mit der funktion date(); . Mehr informationen zu date findest du hier:
http://de.php.net/manual/de/function.date.php
 
... allerdings sollte die Formatierung eines date/time-Feldes auch kein Problem darstellen:
date_format(feldname,'%d.%m.%Y %H:%i')
 
QUOTE (Mar-T @ Mo 20.3.2006, 2:12) ... allerdings sollte die Formatierung eines date/time-Feldes auch kein Problem darstellen:
date_format(feldname,'%d.%m.%Y %H:%i')

Genau, ja. Und rechnen kann man damit auch (date_add, date_diff etc..). Läuft einwandfrei und steht nirgens an...
 
QUOTE (BlackCrow @ So 19.3.2006, 12:32)Zeit speicherst du am besten immer mittels time(); in der datenbank ab.

Nur mal so als Anmerkung: solltest du irgendwann auf die Idee kommen, Geburtstage so abzuspeichern, lass es
biggrin.gif
 
Ausser es ist eine DB, in welcher nur Daten über Teenies gespeichert werden.
wink.gif
 
QUOTE (BlackCrow @ So 19.3.2006, 12:32)Zeit speicherst du am besten immer mittels time(); in der datenbank ab.


Falsch! Zeit speichert man nicht als Timestamp ab! Du kannst bei einem Blick in die Tabelle nie erkennen um welches Datum/welche Uhrzeit es sich handelt. Das Editieren auf ein bestimmtes Datum/eine bestimmte Zeit ist nur sehr schwer möglich.

Die Variante mit date_format ist ideal und viel besser geeignet als ein Timestamp.




QUOTE (Moritz Zbocna @ So 19.3.2006, 12:00)Wenn ich diesen Ausgebe ist der Wert so: "0000-00-00 00:00:00" formatiert.

Ist die Zeit schon als 0000-00-00 00:00:00 in der Datenbank oder wird das erst beim Auslesen so formatiert? Wenn das schon so in die Datenbank geschrieben wird schau doch bitte mal in dein Insert/Replace Into Query ob dort "NOW()" (mit Quotes) oder NOW() (ohne Quotes) drin steht.
 
Zurück
Oben