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.
7 réponses
Utiliser from_unixtime:
SELECT
from_unixtime(timestamp)
FROM
your_table
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
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.
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.
Moyen Facile et simple:
select from_unixtime(column_name, '%Y-%m-%d') from table_name