O SQLite
julianday()
A função retorna o número de dias desde o meio-dia em Greenwich em 24 de novembro de 4714 a.C. (usando o calendário gregoriano proléptico). Se estiver usando o calendário juliano proléptico, esta é segunda-feira, 1º de janeiro de 4713 aC.
O dia juliano é a contagem contínua de dias desde o início do período juliano. É normalmente usado por astrônomos, software, etc., para calcular os dias decorridos entre dois eventos.
Para usar esta função, você precisa fornecer uma string de tempo, além de quaisquer modificadores (opcionais). Um modificador permite que você altere a data, como adicionar um número de dias, defini-lo para a hora local, etc.
Sintaxe
A sintaxe fica assim:
julianday(timestring, modifier, modifier, ...)
A
timestring
argumento deve ser uma string de tempo válida. O
modifier
argumentos são opcionais. Você pode fornecer um ou mais modificadores. Se você fornecer um modificador, ele deverá ser um modificador válido. Exemplo
Aqui está um exemplo para demonstrar o
julianday()
função que está sendo usada com um argumento. SELECT julianday('now');
Resultado:
2458968.52391635
O
now
seqüência de tempo é convertida no Dia Juliano. Adicionar um modificador
Podemos modificar o resultado anterior usando um modificador. Aqui está um exemplo.
SELECT julianday('now', '+3 hours');
Resultado:
2458968.65149612
Vários modificadores
Como mencionado, você pode adicionar um ou mais modificadores. Aqui está um exemplo de adição de outro modificador ao exemplo anterior.
SELECT julianday('now', '+3 hours', 'localtime');
Resultado:
2458969.0685371
julianday() vs strftime()
O
julianday()
A função retorna exatamente o mesmo resultado que strftime('%J', ...)
retorna. O julianday()
função é apenas uma maneira mais conveniente de fazê-lo. SELECT
julianday('now'),
strftime('%J', 'now');
Resultado:
julianday('now') strftime('%J', 'now') ---------------- --------------------- 2458968.52807836 2458968.528078356
Período
Assim como todas as funções de data e hora do SQLite,
julianday()
só funciona para datas entre 0000-01-01 00:00:00 e 9999-12-31 23:59:59 (números do Dia Juliano 1721059.5 a 5373484.5). Para datas fora desse intervalo, os resultados são indefinidos.