Abaixo está uma lista de formatos de string de hora válidos que você pode usar em qualquer função de data e hora no SQLite.
Sequência de tempo | Exemplo |
---|---|
AAAA-MM-DD | 2020-12-30 |
AAAA-MM-DD HH:MM | 2020-12-30 10:45 |
AAAA-MM-DD HH:MM:SS | 2020-12-30 10:45:07 |
AAAA-MM-DD HH:MM:SS.SSS | 2020-12-30 10:45:07.123 |
AAAA-MM-DD T HH:MM | 2020-12-30T10:45 |
AAAA-MM-DD T HH:MM:SS | 2020-12-30T10:45:07 |
AAAA-MM-DD T HH:MM:SS.SSS | 2020-12-30T10:45:07.123 |
HH:MM | 10:45 |
HH:MM:SS | 10:45:07 |
HH:MM:SS.SSS | 10:45:07.123 |
agora | 2020-12-30 10:45:07 |
DDDDDDDDDD | 2459213.94799769 |
O
now
time string retorna a data e a hora atuais usando o UTC (Universal Coordinated Time). O
DDDDDDDDDD
time string é o número do dia juliano expresso como um valor de ponto flutuante. Como funcionam as sequências de tempo?
Ao usar qualquer uma das funções de data e hora do SQLite, você precisa fornecer uma string de hora. Essa string de tempo representa a data/hora em que você está tentando formatar ou executar a operação.
A string de tempo que você fornece precisa seguir um dos formatos válidos na tabela acima.
Código de exemplo
Aqui está um exemplo básico para demonstrar algumas das strings de tempo na tabela acima.
.mode line
SELECT
datetime('2020-12-30'),
datetime('now'),
datetime('2459213.94799769');
Resultado:
datetime('2020-12-30') = 2020-12-30 00:00:00 datetime('now') = 2020-04-24 22:58:31 datetime('2459213.94799769') = 2020-12-30 10:45:07
Indicador de fuso horário
Todas as strings de tempo que incluem a hora (como HH:MM, HH:MM:SS etc.) também podem incluir um indicador de fuso horário. Isso significa todas as strings de tempo da linha 2 à linha 10 na tabela acima.
O indicador de fuso horário pode ter o formato
[+-]HH:MM
ou apenas Z
. O
Z
suffix não altera nada, pois as funções de data e hora do SQLite já usam o horário UTC/zulu internamente de qualquer maneira. Qualquer
HH:MM
diferente de zero sufixo é subtraído da data e hora indicadas para calcular a hora zulu. Exemplo de indicadores de fuso horário
Aqui estão alguns exemplos para demonstrar.
SELECT
datetime('10:45Z'),
datetime('10:45+01:00'),
datetime('10:45-01:00');
Resultado:
datetime('10:45Z') = 2000-01-01 10:45:00 datetime('10:45+01:00') = 2000-01-01 09:45:00 datetime('10:45-01:00') = 2000-01-01 11:45:00