Comment convertir 1300464000
à 2011-03-18 16:00:00
MySQL?
Comment convertir 1300464000
à 2011-03-18 16:00:00
MySQL?
Réponses:
Utilisez la FROM_UNIXTIME()
fonction dans MySQL
N'oubliez pas que si vous utilisez un framework qui le stocke en millisecondes (par exemple l'horodatage de Java), vous devez diviser par 1000 pour obtenir le bon temps Unix en secondes.
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )
ne fonctionne pas. Pourquoi? en utilisant v5.6
SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )
fonctionne. TIMESTAMP()
ne renvoie pas de valeur entière.
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%Y-%m-%d %H:%i:%s') as "Date" FROM `orders`
C'est la solution ultime si la date donnée est au format encodé comme 1300464000
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
orderdate
), '% Y-% m-% d') comme "Date" FROM orders
serait la solution ultime: D
Pour répondre au commentaire de Janus Troelsen
Utilisez UNIX_TIMESTAMP au lieu de TIMESTAMP
SELECT from_unixtime( UNIX_TIMESTAMP( "2011-12-01 22:01:23.048" ) )
La fonction TIMESTAMP renvoie une Date ou une DateHeure et non un horodatage, tandis que UNIX_TIMESTAMP renvoie un horodatage unix
Vous pouvez utiliser
select from_unixtime(1300464000,"%Y-%m-%d %h %i %s") from table;
Pour en détails la description de