Poniżej znajduje się lista poprawnych modyfikatorów dla funkcji daty i czasu w SQLite.
Modyfikator | Przykład |
---|---|
NNN dni | data('teraz', '+3 dni') |
NNN godzin | datetime('teraz', '-3 godziny') |
NNN minut | datetime('teraz', '+3 minuty') |
NNN.NNNN sekund | datetime('teraz', '-30 sekund') |
NNN miesięcy | data('teraz', '+3 miesiące') |
NNN lat | data('teraz', '-3 lata') |
początek miesiąca | data('teraz', 'początek miesiąca') |
początek roku | data('teraz', 'początek roku') |
początek dnia | datetime('teraz', 'początek dnia') |
dzień tygodnia N | data('teraz', 'dzień 6') |
unixepoch | datetime(‘1588965525’, ‘unixepoch’) |
czas lokalny | datetime('teraz', 'czas lokalny') |
utc | datetime('teraz', 'utc') |
Jak działają te modyfikatory?
Używając jednej z funkcji daty/czasu w SQLite, masz możliwość użycia modyfikatorów do przekształcenia daty dostarczonej do funkcji.
Na przykład możesz użyć modyfikatora, aby dodać liczbę dni, godzin, a nawet minut do podanej daty. Możesz też użyć modyfikatora, aby określić czas UTC, czas lokalny itp.
Przykład
Oto krótki przykład pokazujący wynik użycia powyższych modyfikatorów.
.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');
Wynik:
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