Di seguito è riportato un elenco di modificatori validi per le funzioni di data e ora in SQLite.
Modificatore | Esempio |
---|---|
NNN giorni | data('ora', '+3 giorni') |
NNN ore | datetime('now', '-3 ore') |
NNN minuti | datetime('now', '+3 minuti') |
NNN.NNNN secondi | datetime('now', '-30 secondi') |
NNN mesi | data('ora', '+3 mesi') |
NNN anni | data('ora', '-3 anni') |
inizio mese | data('ora', 'inizio mese') |
inizio anno | data('ora', 'inizio anno') |
inizio giornata | datetime('now', 'start of day') |
giorno della settimana N | data('ora', 'giorno feriale 6') |
unixepoch | datetime('1588965525', 'unixepoch') |
ora locale | datetime('now', 'localtime') |
utc | datetime('now', 'utc') |
Come funzionano questi modificatori?
Quando si utilizza una delle funzioni data/ora in SQLite, è possibile utilizzare i modificatori per trasformare la data fornita alla funzione.
Ad esempio, puoi utilizzare un modificatore per aggiungere un numero di giorni, ore o anche minuti a una determinata data. Oppure potresti usare un modificatore per specificare UTC, o l'ora locale, ecc.
Esempio
Ecco un rapido esempio per mostrare l'output dell'utilizzo dei modificatori precedenti.
.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');
Risultato:
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