2012-03-25 15 views
2

Ich habe eine Tabelle mit einer datetime Spalte. In diese Spalte habe ich UTC-Daten mit UTC_TIMESTAMP() geschrieben. Nun, von PHP möchte ich dieses UTC-Datum als Unix-Zeitstempel erhalten. Wie?Lesen MySQL Datum Zeit als Unix Zeit

Ich kenne die UNIX_TIMESTAMP() Funktion. Ich bin mir nicht sicher, ob es zuverlässig ist, da es lokale Zeitzonen und ähnliches verwendet. Ich will nur eine reine Konvertierung von der UTC Datetime auf die Anzahl der Sekunden seit 1970 ...

+1

sehen diese ähnliche Frage: http://stackoverflow.com/questions/4548780/convert-mysql-utc-datetime-to-unix-timestamp – Kaii

Antwort

2

In PHP würden Sie strtotime() verwenden.

Edit:UNIX_TIMESTAMP verwendet Zonen, Ortszeit, wenn Daten gespeichert, wie timestamp keine Daten gespeichert, wie datetime konvertieren. Siehe: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp und http://dev.mysql.com/doc/refman/5.5/en/datetime.html.

Da Sie datetime verwenden, sollte UNIX_TIMESTAMP sicher sein.

+0

So gibt es keine Möglichkeit, dies zu erreichen in MySQL? – l33t

+0

Sie können einfach 'UNIX_TIMESTAMP()' verwenden. Ich glaube, das Problem mit Zeitzonen ist für Daten gespeichert als "Zeitstempel" Typ, nicht "Datetime" Typ wie Sie verwenden: http://dev.mysql.com/doc/refman/5.5/en/datetime.html - I ' lch füge das meiner Antwort hinzu – MichaelRushton

+0

Wichtiges Detail. Vielen Dank :) – l33t