Denken Sie daran, dass Sie, wenn Sie ein Framework verwenden, das es in Millisekunden speichert (z. B. Javas Zeitstempel) , durch 1000 dividieren müssen , um die richtige Unix-Zeit in Sekunden zu erhalten.
Nur weil ich dies getan habe und bei der Ausgabe verwirrt war: MySQL speichert die Unix-Zeit in Sekunden, während viele andere Frameworks sie in Millisekunden speichern (dh Javas Zeitstempel). Denken Sie also daran, durch 1000 zu teilen, wenn Sie diese Funktion für Daten verwenden, die von einem Ort stammen, der Millis für die Unix-Zeit verwendet.
Es scheint klar zu sein, eine Unix-Zeit mit einer Unix-Zeit zu vergleichen. Ich verwende SELECT (CAST (DATE_FORMAT (from_unixtime (UNIX_TIMESTAMP (CURRENT_TIMESTAMP)), '% Y-% m-% d') als DATE) <CAST ('2019-05-02' AS DATE)); Um Daten zu vergleichen, ersetze ich 2019-05 * 02 ein formatiertes Datum / Uhrzeit-Objekt in PHP. Thnaks.
Mantisse
1
Bitte beantworten Sie auf diese Weise nicht die andere Frage als die ursprüngliche.
Paweł Stankowski
Dies beantwortet die ursprüngliche Frage in keiner Weise
Antworten:
Verwenden Sie die
FROM_UNIXTIME()
Funktion in MySQLDenken Sie daran, dass Sie, wenn Sie ein Framework verwenden, das es in Millisekunden speichert (z. B. Javas Zeitstempel) , durch 1000 dividieren müssen , um die richtige Unix-Zeit in Sekunden zu erhalten.
quelle
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )
funktioniert nicht Warum? mit v5.6SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )
funktioniert.TIMESTAMP()
gibt keinen ganzzahligen Wert zurück.Dies ist die ultimative Lösung, wenn das angegebene Datum wie in einem codierten Format vorliegt
1300464000
quelle
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
orderdate
), '% Y-% m-% d') als "Date" FROMorders
die ultimative Lösung wäre: DUm Janus Troelsen Kommentar zu beantworten
Verwenden Sie UNIX_TIMESTAMP anstelle von TIMESTAMP
Die TIMESTAMP-Funktion gibt ein Datum oder eine DateTime und keinen Zeitstempel zurück, während UNIX_TIMESTAMP einen Unix-Zeitstempel zurückgibt
quelle
Sie können verwenden
Für eine detaillierte Beschreibung von
quelle
SELECT from_unixtime( UNIX_TIMESTAMP(fild_with_timestamp) ) from "your_table"
Diese Arbeit für mich
quelle