Format des Datums ändern

Bigbutcher

Erfahrenes Mitglied
Moin Moin allerseits,

ich hab da ein kleines Problem mit dem Datumsformat.
Und zwar:

In meiner Datenbank speichere ich das Datum mit dem Format date ab und die Ausgabe kann ich auch entsprechend mit

DATE_FORMAT( Datum, \'%d.%m.%Y\' ) AS datum_de

formatieren.
Soweit so gut.
Das Datum mit diesem Format gebe ich in einem input Feld aus damit ich das editieren kann. Und nu kommt mein Problem.

Nachdem ich das mit dem deutschen Format editiert hab, möchte ich das wieder in die DB schreiben, allerdings braucht der ja das englische Format.
Ich hab schon

"UPDATE termine Set Datum = DATE_FORMAT('$datum_de', \'%Y-%m-%d\') WHERE ID = BINARY '$id'";

ausprobiert, aber irgendwie funktioniert das nicht.

Ich hoffe ihr wisst da besser bescheid als ich ^^

MfG

BB
 
Ich mache das immer so, daß ich Datums- und/oder Zeitangaben in der Datenbank immer als timestamp speichere ... und zwar in ein Feld vom Typ long

Die Zahl, die in diesem Feld drin steht kannst Du dann mit den bekannten Datums- und Zeitfunktionen von PHP beliebig umwandeln. ;)

Hauptproblem: PHP und MySQL behandeln Datumsangaben anders, was in den meisten Fällen zu Konflikten führt. Speichert man das in ein einfaches Zahlenfeld muss man sich nur noch in PHP um die Formatierung kümmern.


Dunsti
 
Hiho

daran hab ich auch gedacht, aber ich wollte doch gerne mit Date weiterarbeiten, weil ich dieses Format noch benötige. Naja ich hab jetzt eine Lösung gefunden.
Sie sieht folgendermaßen aus:

Da ein String nichts anderes als ein Array ist lese ich den auch so aus

$unixdate = $datum_de[6].$datum_de[7].$datum_de[8].$datum_de[9].'-'.$datum_de[3].$datum_de[4].'-'.$datum_de[0].$datum_de[1];

So hab ich 07.03.2004 zu 2004-03-07 umformatiert.

MfG

BB
 
Zurück