Índice
DateTime
Representa o horário civil (ou às vezes a hora física).
Esse tipo pode representar um horário civil de uma das seguintes maneiras possíveis:
- Quando utc_offset é definido e time_zone não está definido: um horário civil em um dia do calendário com uma diferença específica em relação ao UTC.
- Quando time_zone é definido e utc_offset não é definido: um horário civil em um dia do calendário em um fuso horário específico.
- Quando nem time_zone nem utc_offset são definidos: um horário civil em um dia do calendário no horário local.
A data é referente ao calendário gregoriano proléptico.
Se ano, mês ou dia forem 0, o DateTime será considerado como não tendo um ano, mês ou dia específico, respectivamente.
Esse tipo também pode ser usado para representar uma hora física se todos os campos de data e hora estiverem definidos e qualquer caso de oneof do time_offset estiver definido. Considere usar a mensagem Timestamp para o horário físico. Caso seu caso de uso também queira armazenar o fuso horário do usuário, isso pode ser feito em outro campo.
Esse tipo é mais flexível do que alguns aplicativos podem querer. Documente e valide as limitações do seu aplicativo.
| Campos | |
|---|---|
year |
Opcional. Ano da data. Precisa ser de 1 a 9999, ou 0 se especificar uma data e hora sem um ano. |
month |
Opcional. Mês do ano. Precisa ser de 1 a 12, ou 0 se você especificar uma data e hora sem um mês. |
day |
Opcional. Dia do mês. Precisa ser um valor entre 1 e 31 válido para o ano e o mês, ou 0 se você especificar uma data e hora sem dia. |
hours |
Opcional. Horas do dia no formato de 24 horas. Deve ser de 0 a 23, e o padrão é 0 (meia-noite). Uma API pode permitir o valor "24:00:00" para o horário de fechamento da empresa, por exemplo. |
minutes |
Opcional. Minutos da hora do dia. Precisa estar entre 0 e 59, e o padrão é 0. |
seconds |
Opcional. Segundos do minutos do horário. Normalmente precisa estar entre 0 e 59, e o padrão é 0. Uma API pode permitir o valor 60 se permitir segundos bissextos. |
nanos |
Opcional. Frações de segundos em nanossegundos. Precisa estar entre 0 e 999.999.999. O padrão é 0. |
Campo de união time_offset. Opcional. Especifica a diferença de UTC ou o fuso horário do DateTime. Escolha cuidadosamente entre eles, considerando que os dados de fuso horário podem mudar no futuro (por exemplo, um país modifica as datas de início/término do horário de verão, e DateTimes futuras no intervalo afetado já foram armazenadas). Se omitido, o DateTime é considerado o horário local. time_offset só pode ser de um dos seguintes tipos: |
|
utc_offset |
Compensação de UTC. Precisa ser em segundos inteiros, entre -18 e +18 horas. Por exemplo, uma compensação de UTC de -4:00 seria representada como { segundos: -14400 }. |
time_zone |
Fuso horário. |
LatLng
Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. Salvo indicação em contrário, esse objeto precisa estar em conformidade com o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.
| Campos | |
|---|---|
latitude |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
A longitude em graus. Precisa estar no intervalo [-180,0, +180,0]. |
TimeZone
Representa um fuso horário do banco de dados IANA.
| Campos | |
|---|---|
id |
Fuso horário do banco de dados IANA. Por exemplo: "America/New_York". |
version |
Opcional. Número da versão do banco de dados IANA de fuso horário. Por exemplo: "2019a". |