Package google.type

Índice

Fecha

Representa una fecha completa o parcial (por ejemplo, un cumpleaños). La hora del día y la zona horaria se especifican en otra parte o no son importantes. La fecha se establece de acuerdo con el calendario gregoriano. Puede representar lo siguiente:

  • Una fecha completa, con valores de año, mes y día, sin valores cero.
  • Un mes y un día, con valor cero para el año (por ejemplo, un aniversario).
  • Un valor de año exclusivamente, con valor cero para el día y el mes.
  • Un año y un mes, con valor cero para el día (por ejemplo, la fecha de vencimiento de una tarjeta de crédito).

Tipos relacionados:

Campos
year

int32

Año de la fecha. Debe ser un número comprendido entre 1 y 9999, o 0 si se especifica una fecha sin año.

month

int32

Mes del año. Debe ser un número comprendido entre 1 y 12, o 0 si se especifica un año sin mes ni día.

day

int32

Día del mes. Debe ser un número comprendido entre 1 y 31 válido para el año y el mes. También puede ser 0 si se especifica un año solo o un año y mes en el que el día no es importante.

DateTime

Representa la hora civil (u ocasionalmente la hora física).

Este tipo puede representar una hora civil de varias formas posibles:

  • Cuando se define utc_offset y no se define time_zone: la hora oficial de un día del calendario con un desfase concreto con respecto a UTC.
  • Cuando se define time_zone y no se define utc_offset: la hora oficial de un día del calendario en una zona horaria concreta.
  • Cuando no se definen ni time_zone ni utc_offset, se trata de la hora oficial de un día del calendario en hora local.

La fecha hace referencia al calendario gregoriano proléptico.

Si el año, el mes o el día son 0, se considera que DateTime no tiene un año, mes o día específicos, respectivamente.

Este tipo también se puede usar para representar una hora física si se definen todos los campos de fecha y hora y se define cualquiera de los casos de time_offset oneof. Considera usar el mensaje Timestamp para el tiempo físico. Si también quieres almacenar la zona horaria del usuario, puedes hacerlo en otro campo.

Este tipo es más flexible de lo que algunas aplicaciones pueden querer. Asegúrate de documentar y validar las limitaciones de tu aplicación.

Campos
year

int32

Opcional. Es el año de la fecha. Debe ser un número comprendido entre 1 y 9999, o 0 si se especifica una fecha y hora sin año.

month

int32

Opcional. Es el mes del año. Debe ser un número comprendido entre 1 y 12, o 0 si se especifica una fecha y hora sin mes.

day

int32

Opcional. Es el día del mes. Debe ser un número comprendido entre 1 y 31 válido para el año y el mes. También puede ser 0 si se especifica una fecha y hora sin día.

hours

int32

Opcional. Hora del día en formato de 24 horas. Debe ser un número comprendido entre 0 y 23. El valor predeterminado es 0 (medianoche). Las APIs pueden permitir el valor "24:00:00" para expresar, por ejemplo, la hora de cierre de la empresa.

minutes

int32

Opcional. Minutos transcurridos de la hora del día. Debe ser un número comprendido entre 0 y 59. El valor predeterminado es 0.

seconds

int32

Opcional. Segundos transcurridos de los minutos de la hora. Normalmente, debe ser un número comprendido entre 0 y 59. El valor predeterminado es 0. Las APIs pueden permitir el valor 60 si permiten los segundos intercalares.

nanos

int32

Opcional. Fracciones de segundo en nanosegundos. Debe ser un número comprendido entre 0 y 999.999.999. El valor predeterminado es 0.

Campo de unión time_offset. Opcional. Especifica el desfase de UTC o la zona horaria de DateTime. Elige con cuidado entre ellos, teniendo en cuenta que los datos de la zona horaria pueden cambiar en el futuro (por ejemplo, si un país modifica las fechas de inicio y fin del horario de verano y ya se han almacenado objetos DateTime futuros en el intervalo afectado). Si se omite, se considera que la fecha y hora están en la hora local. time_offset solo puede ser una de estas dos opciones:
utc_offset

Duration

Compensación de UTC. Debe ser un número entero de segundos comprendido entre -18 y +18 horas. Por ejemplo, un desfase UTC de -4:00 se representaría como { seconds: -14400 }.

time_zone

TimeZone

Zona horaria.

Expr

Representa una expresión textual en la sintaxis del lenguaje de expresión común (CEL). CEL es un lenguaje de expresiones similar a C. La sintaxis y la semántica de CEL se documentan en https://github.com/google/cel-spec.

Ejemplo (comparación):

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

Ejemplo (igualdad):

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

Ejemplo (lógica):

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

Ejemplo (manipulación de datos):

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

Las variables y funciones exactas a las que se puede hacer referencia en una expresión las determina el servicio que la evalúa. Consulta la documentación del servicio para obtener más información.

Campos
expression

string

Representación textual de una expresión en la sintaxis del lenguaje de expresión común.

title

string

Opcional. Título de la expresión, es decir, una cadena corta que describe su finalidad. Por ejemplo, se puede usar en interfaces de usuario que permitan introducir la expresión.

description

string

Opcional. Descripción de la expresión. Este es un texto más largo que describe la expresión, por ejemplo, cuando se coloca el cursor sobre ella en una interfaz de usuario.

location

string

Opcional. Cadena que indica la ubicación de la expresión para generar informes de errores. Por ejemplo, el nombre de un archivo y una posición en el archivo.

TimeZone

Representa una zona horaria de la base de datos de zonas horarias de IANA.

Campos
id

string

Zona horaria de la base de datos de zonas horarias de IANA. Por ejemplo, "America/New_York".

version

string

Opcional. Número de versión de la base de datos de zonas horarias de IANA. Por ejemplo, "2019a".