SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Formatos de string de tempo válidos para funções de data/hora do SQLite


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