Come convertire 1300464000da 2011-03-18 16:00:00in MySQL?
Come convertire 1300464000da 2011-03-18 16:00:00in MySQL?
Risposte:
Utilizzare la FROM_UNIXTIME()funzione in MySQL
Ricorda che se stai usando un framework che lo memorizza in millisecondi (ad esempio il timestamp di Java) devi dividere per 1000 per ottenere il tempo Unix giusto in secondi.
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )non funziona perché? usando v5.6
SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )funziona. TIMESTAMP()non restituisce un valore intero.
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%Y-%m-%d %H:%i:%s') as "Date" FROM `orders`
Questa è la soluzione definitiva se la data specificata è in un formato codificato come 1300464000
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
orderdate), '% Y-% m-% d') in quanto "Date" FROM orderssarebbe la soluzione definitiva: D
Per rispondere al commento di Janus Troelsen
Utilizzare UNIX_TIMESTAMP invece di TIMESTAMP
SELECT from_unixtime( UNIX_TIMESTAMP( "2011-12-01 22:01:23.048" ) )
La funzione TIMESTAMP restituisce una data o un DateTime e non un timestamp, mentre UNIX_TIMESTAMP restituisce un timestamp unix
Puoi usare
select from_unixtime(1300464000,"%Y-%m-%d %h %i %s") from table;
Per una descrizione dettagliata di