lousek
Goto Top

Fragen zu Timestamp PHP und MySQL

Hallo Forum.

Habe ein kleines "Problem" mit einer Website (PHP + MySQL-DB) ...
Folgendes: Bis jetzt habe ich Datum / Uhrzeit in der DB immer im US-Format (JJJJ-MM-TT HH:MM:SS) gespeichert.
Jetzt brauche ich das Format aber im europäischen Standard (also TT.MM.JJJJ HH:MM:SS). Mit dem date_format direkt in der SQL-Abfrage hat nur teilweise geklappt, er hat mir zwar das Datum richtig umgeformt (z.B. 30 August 2008), jedoch die Uhrzeit nicht (anstatt irgendetwas mit 23Uhr bringt er mir einfach 00:00:00 ... und ich habe in der date_format-Funktion alle Buchstaben sowohl gross wie klein ausprobiert (also %a, %A, %b, %B usw.). Darum will ich jetzt das Ganze mit dem Timestamp machen.

1. Frage:
Ich habe mal gehört das der Timestamp in der MySQL-DB nicht derselbe ist wie der in PHP (von der Funktion time()). Korrekt?

2. Frage:
Was macht mehr Sinn: ein Integer-Feld, in dem ich den Timestamp von PHP speichere, oder jedesmal die Umformung des MySQL-Timestamp zum PHP-Timestamp, um mit date() weiterarbeiten zu können?

3. Frage:
Wenn ich in einer Tabelle mit 500 Einträgen eine Spalte als DateTime formatiert habe ... wie bringe ich die am besten in das Timestamp-Format? Ich nehme an, wenn ich einfach den Typ ändere gehen die Daten verloren ...

4. Frage:
Wenn ich in einer Tabelle mit 500 Einträgen eine Spalte als Date und eine als Time formatiert habe ... wie bringe ich die am besten in das Timestamp-Format?

5. Frage:
Wie kann ich aus einem Datum + Uhrzeit (also z.B. 2008-08-24 23:45:12) einen Timestamp machen (in PHP ...)?

Habe bei der Umwandlung an ein PHP-Script gedacht, dass zuerst alle Felder der "Datumspalte" (schon als umgeformter Timestamp) + die ID des Eintrages in ein Array einliest, dann löscht er die aktuelle Datumspalte und macht eine neue mit dem richtigen Format (oder ändert den aktuellen Typ????) und liest dann alle Einträge wieder in das Feld mit der richtigen ID ein ...

So, dann lasst mal sprudeln =)

Greetz und thx, Lousek

Content-Key: 98998

Url: https://administrator.de/contentid/98998

Printed on: April 25, 2024 at 09:04 o'clock

Member: godlie
godlie Oct 10, 2008 at 15:26:37 (UTC)
Goto Top
Also naja so ein Problem ist das nicht.

zu 1:
Ja diese Timestamps unterscheiden sich.

zu 2:
Das ist geschmackssache, ich bevorzug die integer Variante

zu 3:
Afaik kanns passieren das die Daten flöten gehen.

zu 4:
Ähm da war noch die Variante mit Integer

zu 5:
Das geht mit der mktime Funktion

Ich würd das so lösen:
Die Tabelle erweitern um eine Spalte die vom Typ Int ist.
Dann die Werte aus der "alten" Zeit Spalte rausziehen umwandeln und die neue Spalte
eintragen.
Danach die alte Spalte umbennen und die neue wie die Alte bennenen.
Dadurch sind die Daten vorhanden.

Evtl. bringt dir ja das auch was, sodass du nur mit einem Query alles updaten kannst.

http://php.codenewbie.com/articles/php/1488/Converting_MySQL_Timestamp_ ...

grüße