julianday функция SQLite

В этом учебном пособии вы узнаете, как использовать SQLite функцию julianday с синтаксисом и примерами.

Описание

SQLite функция julianday берет дату, применяет модификаторы, а затем возвращает дату как юлианский день. Юлианский день - это количество дней с 12:00 24 ноября 4714 г. до н.э. по гринвичскому времени по григорианскому календарю. Функция julianday возвращает дату в виде числа с плавающей запятой.

Синтаксис

Синтаксис функции julianday в SQLite:

julianday(timestring [, modifier1, modifier2, ... modifier_n ] )

Параметры или аргументы

timestring
Значение даты. Это может быть одно из следующих:

timestring Пояснение
now now литерал, используемый для возврата текущей даты.
YYYY-MM-DD Значение даты в формате 'YYYY-MM-DD'
YYYY-MM-DD HH:MM Значение даты в формате 'YYYY-MM-DD HH:MM'
YYYY-MM-DD HH:MM:SS Значение даты в формате 'YYYY-MM-DD HH:MM:SS'
YYYY-MM-DD HH:MM:SS.SSS Значение даты в формате 'YYYY-MM-DD HH:MM:SS.SSS'
HH:MM Значение даты в формате 'HH:MM'
HH:MM:SS Значение даты в формате 'HH:MM:SS'
HH:MM:SS.SSS Значение даты в формате 'HH:MM:SS.SSS'
YYYY-MM-DDTHH:MM Значение даты в формате YYYY-MM-DDTHH:MM, где Т - буквенный символ, разделяющий части даты и времени
YYYY-MM-DDTHH:MM:SS Значение даты в формате 'YYYY-MM-DDTHH:MM:SS', где Т - буквенный символ, разделяющий части даты и времени
YYYY-MM-DDTHH:MM:SS.SSS Значение даты в формате 'YYYY-MM-DDTHH:MM:SS.SSS', где Т - это буквенный символ, разделяющий части даты и времени
DDDDDDDDDD Юлианский номер даты

modifier1, modifier2, ... modifier_n
Необязательный. Это модификаторы, которые применяются к timestring. Каждый модификатор применяется по порядку и является накопительным. Они могут быть одним или несколькими из следующих:

modifier Пояснение
[+-]NNN years Количество лет, добавленных/вычтенных к дате
[+-]NNN months Количество месяцев, добавленных/вычтенных к дате
[+-]NNN days Количество дней, добавленных/вычтенных к дате
[+-]NNN hours Количество часов, добавленных/вычтенных к дате
[+-]NNN minutes Количество минут, добавленных/вычтенных к дате
[+-]NNN seconds Количество секунд, добавленных/вычтенных к дате
[+-]NNN.NNNN seconds Количество секунд (и дробных секунд), добавленных/вычтенных к дате
start of year Перенос даты обратно на начало года
start of month Перенос даты обратно на начало месяца
start of day Перенос даты обратно на начало дня
weekday N Перемещает дату вперед на следующую дату, где номер дня недели равен N (0 = воскресенье, 1 = понедельник, 2 = вторник, 3 = среда, 4 = четверг, 5 = пятница, 6 = суббота)
unixepoch Используется с временной шкалой DDDDDDDDDD для интерпретации даты как времени UNIX (то есть: количество секунд с 1970-01-01)
localtime Регулирует дату по местному времени, при условии, что временная строка была выражена в UTC
utc Приспосабливает дату к utc, предполагая, что временная строка была выражена в местном времени

Применение

Функция julianday может использоваться в следующих версиях SQLite:

  • SQLite 3.8.6, SQLite 3.8.x, SQLite 3.7.x, SQLite 3.6.x

Пример

Рассмотрим некоторые примеры SQLite функций julianday и узнаем, как использовать функцию julianday в SQLite.

Простой пример даты

Вы можете преобразовать простую дату в юлианский день с помощью функции julianday следующим образом:

Пример текущей даты

Вы можете получить текущую дату в SQLite, используя 'now' с функцией julianday, следующим образом:

Пример первого дня месяца

Вы можете получить первый день месяца, используя функцию julianday следующим образом:

В этих примерах мы вычислили первый день месяца несколькими различными способами. Модификатор 'start of month' позволяет нам взять любое значение даты и вычислить первый день месяца для этой даты. Это включает использование временной шкалы 'now'.

Мы также можем добавлять или вычитать дни к значению даты, используя модификатор 'NNN days'. В наших примерах мы вычли 6 дней из наших значений даты. Поскольку у нас было значение даты 2019-01-25, это возвращает первый день месяца (то есть: 2019-01-01) как julianday, который равен 2458484.5.

Пример последнего дня месяца

Вы можете получить последний день месяца, используя функцию julianday следующим образом:

В этих примерах мы вычислили последний день месяца несколькими различными способами. Сначала мы используем модификатор 'start of month' для вычисления первого дня месяца, затем добавляем 1 месяц и затем вычитаем 1 день.

Мы также можем добавлять или вычитать дни к значению даты, используя модификатор 'NNN days'. В наших примерах мы добавили 24 дня к нашим значениям даты.

Пример сложения/вычитания лет

Вы можете использовать функцию julianday, чтобы манипулировать значением даты и добавлять или вычитать годы. Это делается с помощью модификатора 'NNN years' с функцией julianday следующим образом:

В этих примерах мы использовали модификатор 'NNN years', чтобы прибавить 2 года в первом примере, вычесть 2 года во втором примере и добавить 5 лет к текущей дате в третьем примере.

Пример сложения/вычитания дней

Вы можете использовать функцию julianday, чтобы манипулировать значением даты и добавлять или вычитать дни к нему. Это делается с помощью модификатора 'NNN days' с функцией julianday следующим образом:

В этих примерах мы использовали модификатор 'NNN days', чтобы добавить 7 дней в первом примере, вычесть 7 дней во втором примере и добавить 10 дней к текущей дате в третьем примере.