Recuerde que si está utilizando un marco que lo almacena en milisegundos (por ejemplo, la marca de tiempo de Java) debe dividir por 1000 para obtener el tiempo correcto de Unix en segundos.
@JanusTroelsen SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )funciona. TIMESTAMP()no devuelve un valor entero.
cnvzmxcvmcx
44
Solo porque hice esto y me confundí en el resultado: MySQL almacena el tiempo de Unix en segundos, mientras que muchos otros marcos lo almacenan en milisegundos (es decir, la marca de tiempo de Java). Así que solo recuerde dividir por 1000 si está usando esta función en datos que provienen de algún lugar que usa millis por tiempo Unix.
parece claro comparar un tiempo unix de un tiempo unix. Yo uso SELECT (CAST (DATE_FORMAT (from_unixtime (UNIX_TIMESTAMP (CURRENT_TIMESTAMP))), '% Y-% m-% d') como DATE) <CAST ('2019-05-02' AS DATE)); para comparar fechas, reemplazo 2019-05 * 02 un objeto de fecha y hora formateado en php. Thnaks
Mantisse
1
Por favor, no responda de esta manera a una pregunta diferente a la original.
Paweł Stankowski
Esto no responde a la pregunta original de ninguna manera
Respuestas:
Use la
FROM_UNIXTIME()
función en MySQLRecuerde que si está utilizando un marco que lo almacena en milisegundos (por ejemplo, la marca de tiempo de Java) debe dividir por 1000 para obtener el tiempo correcto de Unix en segundos.
fuente
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )
no funciona ¿por qué? usando v5.6SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )
funciona.TIMESTAMP()
no devuelve un valor entero.Esta es la solución definitiva si la fecha dada está en formato codificado como
1300464000
fuente
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
orderdate
), '% Y-% m-% d') como "Fecha" FROMorders
sería la solución definitiva: DPara responder el comentario de Janus Troelsen
Use UNIX_TIMESTAMP en lugar de TIMESTAMP
La función TIMESTAMP devuelve una fecha o una fecha y hora y no una marca de tiempo, mientras que UNIX_TIMESTAMP devuelve una marca de tiempo de Unix
fuente
Puedes usar
Para una descripción detallada de
fuente
SELECT from_unixtime( UNIX_TIMESTAMP(fild_with_timestamp) ) from "your_table"
Este trabajo para mi
fuente