SQLite julianday()
La funzione restituisce il numero di giorni trascorsi da mezzogiorno a Greenwich il 24 novembre 4714 a.C. (usando il calendario gregoriano prolettico).
Se si utilizza il prolettico calendario giuliano, questo è lunedì 1 gennaio 4713 aC.
Il giorno giuliano è il conteggio continuo dei giorni dall'inizio del periodo giuliano. Viene generalmente utilizzato da astronomi, software e così via per calcolare i giorni trascorsi tra due eventi.
Per utilizzare questa funzione, è necessario fornire una stringa di tempo, più eventuali modificatori (facoltativi). Un modificatore ti consente di modificare la data, ad esempio aggiungere un numero di giorni, impostarlo sull'ora locale, ecc
Sintassi
La sintassi è questa:
julianday(timestring, modifier, modifier, ...)
Il timestring
l'argomento deve essere una stringa di tempo valida.
Il modifier
gli argomenti sono facoltativi. Puoi fornire uno o più modificatori. Se fornisci un modificatore, deve essere un modificatore valido.
Esempio
Ecco un esempio per dimostrare il julianday()
funzione utilizzata con un argomento.
SELECT julianday('now');
Risultato:
2458968.52391635
Il now
la stringa di tempo viene convertita nel giorno giuliano.
Aggiungi un modificatore
Possiamo modificare il risultato precedente usando un modificatore. Ecco un esempio.
SELECT julianday('now', '+3 hours');
Risultato:
2458968.65149612
Modificatori multipli
Come accennato, puoi aggiungere uno o più modificatori. Ecco un esempio di aggiunta di un altro modificatore all'esempio precedente.
SELECT julianday('now', '+3 hours', 'localtime');
Risultato:
2458969.0685371
julianday() vs strftime()
Il julianday()
la funzione restituisce esattamente lo stesso risultato che strftime('%J', ...)
ritorna. Il julianday()
funzione è solo un modo più conveniente per farlo.
SELECT
julianday('now'),
strftime('%J', 'now');
Risultato:
julianday('now') strftime('%J', 'now') ---------------- --------------------- 2458968.52807836 2458968.528078356
Intervallo di date
Come per tutte le funzioni di data e ora di SQLite, julianday()
funziona solo per date comprese tra 0000-01-01 00:00:00 e 9999-12-31 23:59:59 (Julian Day numeri da 1721059.5 a 5373484.5).
Per le date al di fuori di tale intervallo, i risultati non sono definiti.