По-долу е даден списък с валидни модификатори за функции за дата и час в SQLite.
Модификатор | Пример |
---|---|
NNN дни | date(‘сега’, ‘+3 дни’) |
NNN часа | datetime(‘сега’, ‘-3 часа’) |
NNN минути | datetime(‘сега’, ‘+3 минути’) |
NNN.NNNN секунди | datetime(‘сега’, ‘-30 секунди’) |
NNN месеца | дата(‘сега’, ‘+3 месеца’) |
NNN години | дата(‘сега’, ‘-3 години’) |
начало на месеца | дата(‘сега’, ‘начало на месеца’) |
начало на годината | дата(‘сега’, ‘начало на годината’) |
начало на деня | datetime(‘сега’, ‘начало на деня’) |
делен ден N | дата(‘сега’, ‘седмия ден от седмицата’) |
unixepoch | datetime(‘1588965525’, ‘unixepoch’) |
местно време | datetime(‘сега’, ‘местно време’) |
utc | datetime(‘сега’, ‘utc’) |
Как работят тези модификатори?
Когато използвате една от функциите за дата/час в SQLite, имате възможност да използвате модификатори, за да трансформирате датата, предоставена на функцията.
Например, можете да използвате модификатор, за да добавите няколко дни, часове или дори минути към дадена дата. Или можете да използвате модификатор, за да посочите UTC, местно време и т.н.
Пример
Ето един бърз пример за показване на изхода от използването на горните модификатори.
.mode line
SELECT
datetime('now'),
date('now', '+3 days'),
datetime('now', '+3 hours'),
datetime('now', '+3 minutes'),
datetime('now', '+30 seconds'),
date('now', '+3 months'),
date('now', '-3 years'),
date('now', 'start of month'),
date('now', 'start of year'),
datetime('now', 'start of day'),
date('now', 'weekday 6'),
datetime('1588965525', 'unixepoch'),
datetime('now', 'localtime'),
datetime('now', 'utc');
Резултат:
datetime('now') = 2020-04-26 00:53:53 date('now', '+3 days') = 2020-04-29 datetime('now', '+3 hours') = 2020-04-26 03:53:53 datetime('now', '+3 minutes') = 2020-04-26 00:56:53 datetime('now', '+30 seconds') = 2020-04-26 00:54:23 date('now', '+3 months') = 2020-07-26 date('now', '-3 years') = 2017-04-26 date('now', 'start of month') = 2020-04-01 date('now', 'start of year') = 2020-01-01 datetime('now', 'start of day') = 2020-04-26 00:00:00 date('now', 'weekday 6') = 2020-05-02 datetime('1588965525', 'unixepoch') = 2020-05-08 19:18:45 datetime('now', 'localtime') = 2020-04-26 10:53:53 datetime('now', 'utc') = 2020-04-25 14:53:53