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