¿Existe una función MySQL que se pueda usar para convertir una marca de tiempo Unix en una fecha legible para humanos? Tengo un campo donde guardo veces Unix y ahora quiero agregar otro campo para fechas legibles por humanos.
mysql
unix-timestamp
Rey julien
fuente
fuente
Respuestas:
Uso
FROM_UNIXTIME()
:Ver también: documentación de MySQL en
FROM_UNIXTIME()
.fuente
from_unixtime
: dev.mysql.com/doc/refman/5.1/en/...TO_UNIXTIME
, pero en su lugarUNIX_TIMESTAMP
.Lo que falta en las otras respuestas (a partir de este escrito) y no es directamente obvio es que
from_unixtime
puede tomar un segundo parámetro para especificar el formato de esta manera:fuente
Creo que lo que estás buscando es
FROM_UNIXTIME()
fuente
¿Necesita una marca de tiempo de Unix en una zona horaria específica?
Aquí hay una línea si tiene acceso rápido al mysql cli:
Reemplace
'MST'
con su zona horaria deseada. Vivo en Arizona 🌵 por lo tanto, la conversión de UTC a MST.fuente
¿Por qué molestarse en guardar el campo como legible? Solo nosotros
AS
EDITAR: Lo sentimos, almacenamos todo en milisegundos, no segundos. Arreglado.
fuente
Puede usar la función DATE_FORMAT. Aquí hay una página con ejemplos y los patrones que puede usar para seleccionar diferentes componentes de fecha.
fuente
Manera fácil y simple:
select from_unixtime(column_name, '%Y-%m-%d') from table_name
fuente
Como descubrí que esta pregunta no es consciente, mysql siempre almacena la hora en los campos de marca de tiempo en UTC pero se mostrará (por ejemplo, phpmyadmin) en la zona horaria local. Me gustaría agregar mis hallazgos.
Tengo un campo last_modified actualizado automáticamente, definido como:
Mirándolo con phpmyadmin, parece que es en hora local, internamente es UTC
En cualquier constelación, UNIX_TIMESTAMP y 'como UTC' siempre se muestran en hora UTC.
Ejecute esto dos veces, primero sin configurar la zona horaria.
fuente