Abaixo está uma lista de modificadores válidos para funções de data e hora no SQLite.
| Modificador | Exemplo |
|---|---|
| NNN dias | data('agora', '+3 dias') |
| NNN horas | datetime('agora', '-3 horas') |
| NNN minutos | datetime('agora', '+3 minutos') |
| NNN.NNNN segundos | datetime('agora', '-30 segundos') |
| NNN meses | data('agora', '+3 meses') |
| NNN anos | data('agora', '-3 anos') |
| início do mês | data('agora', 'início do mês') |
| início do ano | data('agora', 'início do ano') |
| início do dia | datetime('agora', 'início do dia') |
| dia da semana N | data('agora', 'dia 6') |
| unixepoch | datetime('1588965525', 'unixepoch') |
| hora local | datahora('agora', 'hora local') |
| utt | datahora('agora', 'utc') |
Como esses modificadores funcionam?
Ao usar uma das funções de data/hora no SQLite, você tem a opção de usar modificadores para transformar a data fornecida à função.
Por exemplo, você pode usar um modificador para adicionar um número de dias, horas ou até minutos a uma determinada data. Ou você pode usar um modificador para especificar UTC ou hora local, etc.
Exemplo
Aqui está um exemplo rápido para mostrar a saída do uso dos modificadores acima.
.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'); Resultado:
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