Package google.type

Índice

Data

Representa uma data de calendário completa ou parcial, como um aniversário. A hora do dia e o fuso horário são especificados noutro local ou são insignificantes. A data é relativa ao calendário gregoriano. Isto pode representar uma das seguintes opções:

  • Uma data completa, com valores de ano, mês e dia diferentes de zero.
  • Um mês e um dia, com um ano zero (por exemplo, um aniversário).
  • Um ano sozinho, com um mês zero e um dia zero.
  • Um ano e um mês, com um dia zero (por exemplo, a data de validade de um cartão de crédito).

Tipos relacionados:

Campos
year

int32

Ano da data. Tem de estar entre 1 e 9999, ou 0 para especificar uma data sem um ano.

month

int32

Mês de um ano. O valor tem de estar compreendido entre 1 e 12 ou 0 para especificar um ano sem um mês e um dia.

day

int32

Dia de um mês. Tem de estar compreendido entre 1 e 31 e ser válido para o ano e o mês, ou 0 para especificar apenas um ano ou um ano e um mês em que o dia não é significativo.

DateTime

Representa a hora civil (ou, ocasionalmente, a hora física).

Este tipo pode representar uma hora civil de uma das seguintes formas possíveis:

  • Quando utc_offset está definido e time_zone não está definido: uma hora civil num dia do calendário com uma determinada diferença para UTC.
  • Quando time_zone está definido e utc_offset não está definido: uma hora civil num dia do calendário num fuso horário específico.
  • Quando não é definido time_zone nem utc_offset: uma hora civil num dia do calendário na hora local.

A data é relativa ao calendário gregoriano proléptico.

Se o ano, o mês ou o dia for 0, considera-se que o DateTime não tem um ano, um mês ou um dia específico, respetivamente.

Este tipo também pode ser usado para representar uma hora física se todos os campos de data e hora estiverem definidos e qualquer um dos casos de time_offset estiver definido. Em alternativa, considere usar a mensagem Timestamp para a hora física. Se o seu exemplo de utilização também quiser armazenar o fuso horário do utilizador, isso pode ser feito noutro campo.

Este tipo é mais flexível do que algumas aplicações podem querer. Certifique-se de que documenta e valida as limitações da sua aplicação.

Campos
year

int32

Opcional. Ano da data. Tem de ser de 1 a 9999 ou 0 se especificar uma data/hora sem um ano.

month

int32

Opcional. Mês do ano. Tem de estar compreendido entre 1 e 12 ou ser 0 se especificar uma data/hora sem um mês.

day

int32

Opcional. Dia do mês. Tem de estar compreendido entre 1 e 31 e ser válido para o ano e o mês, ou 0 se especificar uma data/hora sem um dia.

hours

int32

Opcional. Horas do dia no formato de 24 horas. Deve estar entre 0 e 23, sendo a predefinição 0 (meia-noite). Uma API pode optar por permitir o valor "24:00:00" para cenários como a hora de encerramento da empresa.

minutes

int32

Opcional. Minutos da hora do dia. Tem de ser um valor entre 0 e 59. A predefinição é 0.

seconds

int32

Opcional. Segundos dos minutos da hora. Normalmente, tem de estar entre 0 e 59. A predefinição é 0. Uma API pode permitir o valor 60 se permitir segundos intercalares.

nanos

int32

Opcional. Frações de segundos em nanosegundos. Tem de estar entre 0 e 999 999 999. A predefinição é 0.

Campo de união time_offset. Opcional. Especifica a diferença horária entre UTC e o fuso horário do DateTime. Escolha cuidadosamente entre eles, tendo em conta que os dados de fuso horário podem mudar no futuro (por exemplo, um país modifica as datas de início/fim da hora de verão e as datas/horas futuras no intervalo afetado já tinham sido armazenadas). Se for omitido, o DateTime é considerado no fuso horário local. time_offset só pode ser uma das seguintes opções:
utc_offset

Duration

Diferença face ao UTC. Tem de ser segundos inteiros, entre -18 horas e +18 horas. Por exemplo, um desvio de UTC de -4:00 seria representado como { seconds: -14400 }.

time_zone

TimeZone

Fuso horário.

Expr

Representa uma expressão textual na sintaxe do Idioma de expressão comum (IEC). O IEC é um idioma de expressão semelhante a C. A sintaxe e a semântica da CEL estão documentadas em https://github.com/google/cel-spec.

Exemplo (comparação):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Exemplo (igualdade):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Exemplo (lógica):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Exemplo (manipulação de dados):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

As variáveis e as funções exatas que podem ser referenciadas numa expressão são determinadas pelo serviço que a avalia. Consulte a documentação do serviço para obter informações adicionais.

Campos
expression

string

Representação textual de uma expressão na sintaxe do idioma de expressão comum.

title

string

Opcional. Título da expressão, ou seja, uma string curta que descreve a respetiva finalidade. Isto pode ser usado, por exemplo, em IUs que permitem introduzir a expressão.

description

string

Opcional. Descrição da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor passa sobre a mesma numa IU.

location

string

Opcional. String que indica a localização da expressão para a comunicação de erros, por exemplo, um nome de ficheiro e uma posição no ficheiro.

Fuso horário

Representa um fuso horário da base de dados de fusos horários da IANA.

Campos
id

string

Fuso horário da base de dados de fusos horários da IANA. Por exemplo, "America/New_York".

version

string

Opcional. Número da versão da base de dados de fusos horários da IANA. Por exemplo, "2019a".