Christian Seiler: Leben wir im Jahr 2038? -> timestamp problem

Beitrag lesen

Hallo robert,

wie amche ich aus einem mysql-timestamp (20030203203842) per php ein deutsches datum?

Was Du das hast ist ein MySQL-Timestamp, kein UNIX-Timestamp, der von PHP interpretiert ist.

Mache also statt (Beispielcode)

SELECT datumsfeld FROM tabelle

SELECT UNIX_TIMESTAMP(datumsfeld) as datumsfeld FROM tabelle

habe bereits strftime verwendet, aber ich bekomme stehts daten in diesem format: 19.01.2038 04:14 :(

Ganz einfach: UNIX-Timestamps sind die Anzahl Sekunden seit dem 1.1.1970 - wenn jetzt o.g. Zahl verwendet wird, dann gibt es einen Integer-Überlauf (Zahl zu groß) und Du kommst jetzt zufällig auf 2038 - Du hättest auch auf jedes andere beliebige Datum zuwischen 1970 und 2038 kommen können.

liegt es daran, dass ich die sekunden nicht bearbeite?

Hä?

die brauche ich aber fürs order by in der selectabfrage.

Du kannst mit o.g. Code auch noch sortieren.

oder arbeitet strftime nur mit dem unix-timestamp?

Ups, Du kennst ja den Unterschied bereits... ;-) Prinzipiell: PHP kennt _ausschließlich_ UNIX-Timestamps.

Christian

--
Hast Du einen Beitrag? Nur her damit!
http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[