SQLite julianday()
функцията връща броя на дните след обяд в Гринуич на 24 ноември 4714 г. пр.н.е. (използвайки пролептичния григориански календар).
Ако използвате пролептичния юлиански календар, това е понеделник, 1 януари 4713 г. пр. н. е.
Юлианският ден е непрекъснатото броене на дните от началото на Юлианския период. Обикновено се използва от астрономи, софтуер и т.н. за изчисляване на изминалите дни между две събития.
За да използвате тази функция, трябва да предоставите времеви низ плюс всякакви (по избор) модификатори. Модификаторът ви позволява да промените датата, като например добавяне на брой дни, задаване на местно време и т.н.
Синтаксис
Синтаксисът е така:
julianday(timestring, modifier, modifier, ...)
timestring
аргументът трябва да е валиден времеви низ.
modifier
аргументите са незадължителни. Можете да предоставите един или повече модификатори. Ако предоставите модификатор, той трябва да е валиден модификатор.
Пример
Ето пример за демонстрация на julianday()
функция се използва с един аргумент.
SELECT julianday('now');
Резултат:
2458968.52391635
now
времевият низ се преобразува в Юлиански ден.
Добавяне на модификатор
Можем да променим предишния резултат с помощта на модификатор. Ето един пример.
SELECT julianday('now', '+3 hours');
Резултат:
2458968.65149612
Множество модификатори
Както споменахме, можете да добавите един или повече модификатори. Ето пример за добавяне на друг модификатор към предишния пример.
SELECT julianday('now', '+3 hours', 'localtime');
Резултат:
2458969.0685371
julianday() срещу strftime()
julianday()
функцията връща точно същия резултат като strftime('%J', ...)
се завръща. julianday()
функцията е просто по-удобен начин да го направите.
SELECT
julianday('now'),
strftime('%J', 'now');
Резултат:
julianday('now') strftime('%J', 'now') ---------------- --------------------- 2458968.52807836 2458968.528078356
Период от време
Както при всички функции за дата и час на SQLite, julianday()
работи само за дати между 0000-01-01 00:00:00 и 9999-12-31 23:59:59 (номера на юлианския ден от 1721059.5 до 5373484.5).
За дати извън този диапазон резултатите са недефинирани.