sql >> Base de Datos >  >> RDS >> SQLite

Obtenga la fecha/hora de una marca de tiempo de Unix en SQLite

Si tiene una marca de tiempo de Unix, puede usar DATETIME() de SQLite función con el unixepoch modificador para calcular la fecha y la hora reales.

Alternativamente, puede usar DATE() función si solo necesita la fecha para ser devuelto. Y también es posible usar el TIME() función para devolver solo la porción de tiempo.

Obtener la fecha y la hora

Aquí hay un ejemplo del uso de DATETIME() función con el unixepoch modificador:

SELECT DATETIME(1793956207, 'unixepoch');

Resultado:

2026-11-06 09:10:07

Obtener la fecha

Podemos usar el DATE() función si solo necesitamos que se devuelva la fecha:

SELECT DATE(1793956207, 'unixepoch');

Resultado:

2026-11-06

Obtener el tiempo

Usando el TIME() la función devuelve solo la porción de tiempo:

SELECT TIME(1793956207, 'unixepoch');

Resultado:

09:10:07

Compensa tu zona horaria local

También puede agregar el localtime modificador para ajustar la salida a su zona horaria local:

SELECT DATETIME(1793956207, 'unixepoch', 'localtime');

Resultado:

2026-11-06 19:10:07

La localtime El modificador asume que el valor de tiempo especificado está en hora universal coordinada (UTC) y ajusta ese valor de tiempo para que esté en localtime .

El auto Modificador

Desde SQLite 3.38.0, podemos usar el auto modificador en lugar de unixepoch modificador:

SELECT DATETIME(1793956207, 'auto');

Resultado:

2026-11-06 09:10:07

El modificador automático hace que el valor se interprete como un número de día juliano o una marca de tiempo de Unix, según el valor real.

Si el valor está entre 0.0 y 5373484.499999 , entonces se interpreta como un número de día juliano (correspondiente a fechas entre -4713-11-24 12:00:00 y 9999-12-31 23:59:59 , inclusive). Para valores numéricos fuera del rango de números de días julianos válidos, pero dentro del rango de -210866760000 a 253402300799 , el auto El modificador hace que el valor se interprete como una marca de tiempo de Unix. Otros valores numéricos están fuera de rango y provocan un retorno NULL.