Wie konvertiert man 1300464000
zu 2011-03-18 16:00:00
in MySQL?
Wie konvertiert man 1300464000
zu 2011-03-18 16:00:00
in MySQL?
Antworten:
Verwenden Sie die FROM_UNIXTIME()
Funktion in MySQL
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.
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )
funktioniert nicht Warum? mit v5.6
SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )
funktioniert. TIMESTAMP()
gibt keinen ganzzahligen Wert zurück.
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%Y-%m-%d %H:%i:%s') as "Date" FROM `orders`
Dies ist die ultimative Lösung, wenn das angegebene Datum wie in einem codierten Format vorliegt 1300464000
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
orderdate
), '% Y-% m-% d') als "Date" FROM orders
die ultimative Lösung wäre: D
Um Janus Troelsen Kommentar zu beantworten
Verwenden Sie UNIX_TIMESTAMP anstelle von TIMESTAMP
SELECT from_unixtime( UNIX_TIMESTAMP( "2011-12-01 22:01:23.048" ) )
Die TIMESTAMP-Funktion gibt ein Datum oder eine DateTime und keinen Zeitstempel zurück, während UNIX_TIMESTAMP einen Unix-Zeitstempel zurückgibt
Sie können verwenden
select from_unixtime(1300464000,"%Y-%m-%d %h %i %s") from table;
Für eine detaillierte Beschreibung von