Aviso de tradução por IA

Esta documentação foi traduzida automaticamente por IA.

Visão Geral

Tipos de Campo de Data e Hora

Os tipos de campo de data e hora podem ser categorizados da seguinte forma:

  • Data e Hora (com fuso horário): Esses valores são padronizados para UTC (Tempo Universal Coordenado) e podem ser ajustados para diferentes fusos horários quando necessário;
  • Data e Hora (sem fuso horário): Armazena dados de data e hora sem incluir informações de fuso horário;
  • Data (sem hora): Armazena exclusivamente informações de data, omitindo qualquer componente de hora;
  • Hora: Armazena apenas informações de hora, excluindo a data;
  • Timestamp Unix: Representa o número de segundos decorridos desde 1º de janeiro de 1970 e é armazenado como um timestamp Unix.

Aqui estão exemplos para cada tipo de campo relacionado a Data e Hora:

Tipo de CampoValor de ExemploDescrição
Data e Hora (com fuso horário)2024-08-24T07:30:00.000ZConvertido para UTC e pode ser ajustado para fusos horários
Data e Hora (sem fuso horário)2024-08-24 15:30:00Armazena data e hora sem considerar o fuso horário
Data (sem hora)2024-08-24Captura apenas a data, sem informações de hora
Hora15:30:00Captura apenas a hora, excluindo detalhes da data
Timestamp Unix1724437800Representa os segundos desde 01-01-1970 00:00:00 UTC

Comparações entre Fontes de Dados

Abaixo está uma tabela de comparação para NocoBase, MySQL e PostgreSQL:

Tipo de CampoNocoBaseMySQLPostgreSQL
Data e Hora (com fuso horário)Datetime with timezoneTIMESTAMP
DATETIME
TIMESTAMP WITH TIME ZONE
Data e Hora (sem fuso horário)Datetime without timezoneDATETIMETIMESTAMP WITHOUT TIME ZONE
Data (sem hora)DateDATEDATE
HoraTimeTIMETIME WITHOUT TIME ZONE
Timestamp UnixUnix timestampINTEGER
BIGINT
INTEGER
BIGINT
Hora (com fuso horário)--TIME WITH TIME ZONE

Observação:

  • O tipo TIMESTAMP do MySQL abrange um intervalo entre 1970-01-01 00:00:01 UTC e 2038-01-19 03:14:07 UTC. Para datas e horas fora desse intervalo, é recomendado usar DATETIME ou BIGINT para armazenar timestamps Unix.

Fluxo de Processamento para Armazenamento de Data e Hora

Com Fuso Horário

Isso inclui Data e Hora (com fuso horário) e Timestamp Unix.

20240824191933

Observação:

  • Para acomodar um intervalo mais amplo de datas, o NocoBase utiliza o tipo DATETIME no MySQL para campos de Data e Hora (com fuso horário). O valor da data armazenado é convertido com base na variável de ambiente TZ do servidor, o que significa que, se essa variável for alterada, o valor de Data e Hora armazenado também será modificado.
  • Como existe uma diferença de fuso horário entre o UTC e a hora local, exibir diretamente o valor UTC bruto pode levar a confusão para o usuário.

Sem Fuso Horário

20240824185600

UTC

UTC (Tempo Universal Coordenado) é o padrão global de tempo utilizado para coordenar e sincronizar a hora em todo o mundo. É um padrão de tempo de alta precisão, mantido por relógios atômicos e sincronizado com a rotação da Terra.

A diferença entre o UTC e a hora local pode causar confusão ao exibir os valores brutos de UTC. Por exemplo:

Fuso HorárioData e Hora
UTC2024-08-24T07:30:00.000Z
UTC+82024-08-24 15:30:00
UTC+52024-08-24 12:30:00
UTC-52024-08-24 02:30:00
UTC+02024-08-24 07:30:00
UTC-62024-08-23 01:30:00

Todos esses horários representam o mesmo momento, apenas expressos em diferentes fusos horários.