El SQLite julianday()
La función devuelve el número de días transcurridos desde el mediodía en Greenwich el 24 de noviembre de 4714 a.C. (utilizando el calendario gregoriano proléptico).
Si usa el calendario juliano proléptico, este es el lunes 1 de enero de 4713 a. C.
El día juliano es la cuenta continua de días desde el comienzo del período juliano. Por lo general, lo utilizan los astrónomos, el software, etc. para calcular los días transcurridos entre dos eventos.
Para usar esta función, debe proporcionar una cadena de tiempo, además de cualquier modificador (opcional). Un modificador le permite cambiar la fecha, como agregar una cantidad de días, establecer la hora local, etc.
Sintaxis
La sintaxis es así:
julianday(timestring, modifier, modifier, ...)
La timestring
el argumento debe ser una cadena de tiempo válida.
El modifier
los argumentos son opcionales. Puede proporcionar uno o más modificadores. Si proporciona un modificador, debe ser un modificador válido.
Ejemplo
Aquí hay un ejemplo para demostrar el julianday()
función que se utiliza con un argumento.
SELECT julianday('now');
Resultado:
2458968.52391635
El now
cadena de tiempo se convierte en el día juliano.
Agregar un modificador
Podemos modificar el resultado anterior usando un modificador. He aquí un ejemplo.
SELECT julianday('now', '+3 hours');
Resultado:
2458968.65149612
Múltiples modificadores
Como se mencionó, puede agregar uno o más modificadores. Este es un ejemplo de cómo agregar otro modificador al ejemplo anterior.
SELECT julianday('now', '+3 hours', 'localtime');
Resultado:
2458969.0685371
julianday() vs strftime()
El julianday()
la función devuelve exactamente el mismo resultado que strftime('%J', ...)
devoluciones. El julianday()
es solo una forma más conveniente de hacerlo.
SELECT
julianday('now'),
strftime('%J', 'now');
Resultado:
julianday('now') strftime('%J', 'now') ---------------- --------------------- 2458968.52807836 2458968.528078356
Intervalo de fechas
Al igual que con todas las funciones de fecha y hora de SQLite, julianday()
solo funciona para fechas entre 0000-01-01 00:00:00 y 9999-12-31 23:59:59 (día juliano números 1721059.5 a 5373484.5).
Para fechas fuera de ese rango, los resultados son indefinidos.