web-dev-qa-db-fra.com

Comment convertir un horodatage en date/heure dans MySQL?

Comment convertir 1300464000 en 2011-03-18 16:00:00 en MySQL?

95
compile-fan

Utilisez la fonction FROM_UNIXTIME() 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.

164
Richard Tuin
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y') as "Date" FROM `orders`

C'est la solution ultime si la date donnée est au format encodé comme 1300464000

51
Kingshuk Deb

Répondre à Janus Troelsen commentaire

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 heure et pas un horodatage, tandis que UNIX_TIMESTAMP renvoie un horodatage unix

7
ksvendsen

Vous pouvez utiliser 

select from_unixtime(1300464000,"%Y-%m-%d %h %i %s") from table;

Pour en savoir plus sur la description

  1. from_unixtime ()
  2. unix_timestamp ()
0
user2613580