Convertir l'horodatage Unix en date lisible par L'homme en utilisant MySQL

Existe-t-il une fonction MySQL qui peut être utilisée pour convertir un horodatage Unix en une date lisible par l'homme? J'ai un champ où je sauvegarde les temps Unix et maintenant je veux ajouter un autre champ pour les dates lisibles par l'homme.

162
demandé sur Teun Zengerink 2011-06-07 19:23:30

7 réponses

Utiliser from_unixtime:

SELECT
  from_unixtime(timestamp) 
FROM 
  your_table
295
répondu CristiC 2011-06-07 15:28:00

Ce qui manque aux autres réponses (à ce jour) et qui n'est pas directement évident, c'est que from_unixtime peut également prendre un paramètre de format tel que:

SELECT
  from_unixtime(timestamp, '%Y %D %M %h:%i:%s')
FROM 
  your_table
85
répondu User 2013-11-11 00:11:47

Je pense que ce que vous cherchez est FROM_UNIXTIME()

31
répondu Ted Hopp 2011-06-07 15:26:13

Besoin d'un horodatage unix dans un fuseau horaire spécifique?

Voici un one liner si vous avez un accès rapide à la CLI mysql:

mysql> select convert_tz(from_unixtime(1467095851), 'UTC', 'MST') as 'local time';

+---------------------+
| local time          |
+---------------------+
| 2016-06-27 23:37:31 |
+---------------------+

Remplacez 'MST' par le fuseau horaire souhaité. Je vis en Arizona donc la conversion de UTC à MST.

14
répondu elbowlobstercowstand 2016-06-28 07:55:41

Pourquoi prendre la peine de sauvegarder le champ comme lisible? Juste nous AS

SELECT theTimeStamp, FROM_UNIXTIME(theTimeStamp) AS readableDate FROM theTable WHERE theTable.theField = theValue;

EDIT: Désolé, nous stockons tout en millisecondes pas en secondes. Remédier.

5
répondu josh.trow 2011-06-07 15:27:50

Vous pouvez utiliser la fonction DATE_FORMAT. ici est une page avec des exemples, et les modèles que vous pouvez utiliser pour sélectionner différents composants de date.

4
répondu Briguy37 2011-06-07 15:27:51

Moyen Facile et simple:

select from_unixtime(column_name, '%Y-%m-%d') from table_name

0
répondu Akash gupta 2018-10-03 10:03:56