Índice
Fecha y hora
Representa la hora civil (o, en ocasiones, la hora física).
Este tipo puede representar una hora civil de una de las siguientes maneras:
- Cuando utc_offset está establecido y time_zone no está establecido: una hora civil en un día calendario con un desplazamiento particular de UTC.
- Cuando se establece time_zone y no se establece utc_offset: una hora civil en un día calendario en una zona horaria en particular.
- Cuando no se establecen time_zone ni utc_offset: una hora civil de un día calendario en la hora local
La fecha está relacionada con el calendario gregoriano proléptico.
Si el año, el mes o el día son 0, se considera que la fecha y hora no tiene un año, un mes o un día específicos, respectivamente.
Este tipo también se puede usar para representar una hora física si se configuran todos los campos de fecha y hora, y se establece cualquiera de los casos de time_offset
oneof. En su lugar, considera usar el mensaje Timestamp
para la hora física. Si tu caso de uso también desea almacenar la zona horaria del usuario, puedes hacerlo en otro campo.
Este tipo es más flexible que el que pueden desear algunas aplicaciones. Asegúrate de documentar y validar las limitaciones de tu aplicación.
Campos | |
---|---|
year |
Opcional. Año de la fecha. Debe ser entre 1 y 9999, o bien 0 si se especifica una fecha y hora sin año. |
month |
Opcional. Mes del año. Debe encontrarse entre 1 y 12, o 0 si se especifica una fecha y hora sin mes. |
day |
Opcional. Día del mes. Debe ser entre 1 y 31, y ser válido para el año y el mes, o bien debe ser 0 si se especifica una fecha y hora sin un día. |
hours |
Opcional. Horas del día en formato de 24 horas. Debe ser de 0 a 23, el valor predeterminado es 0 (medianoche). Una API puede permitir el valor “24:00:00” para casos como el horario de cierre de empresas. |
minutes |
Opcional. Minutos de horas del día. Debe ser un valor entre 0 y 59. El valor predeterminado es 0. |
seconds |
Opcional. Segundos de minutos de la hora. Por lo general, debe estar entre 0 y 59; el valor predeterminado es 0. Una API puede permitir el valor 60 si permite segundos bisiestos. |
nanos |
Opcional. Fracciones de segundos en nanosegundos. Debe ser un valor entre 0 y 999,999,999. El valor predeterminado es 0. |
Campo de unión time_offset . Opcional. Especifica el desplazamiento de UTC o la zona horaria de DateTime. Elige cuidadosamente entre ellos, teniendo en cuenta que los datos de zona horaria pueden cambiar en el futuro (por ejemplo, un país modifica las fechas de inicio y finalización del horario de verano, y las DateTime futuras en el rango afectado ya se habían almacenado). Si se omite, se considera que DateTime está en la hora local. Las direcciones (time_offset ) solo pueden ser una de las siguientes opciones: |
|
utc_ |
Compensación de UTC. Debe ser un número entero de segundos, entre -18 horas y +18 horas. Por ejemplo, una desviación UTC de -4:00 se representaría como { seconds: -14400 }. |
time_ |
Zona horaria |
TimeOfDay
Representa una hora del día. La fecha y la zona horaria no son significativas o se especifican en otro lugar. Una API puede optar por permitir segundos bisiestos. Los tipos relacionados son google.type.Date
y google.protobuf.Timestamp
.
Campos | |
---|---|
hours |
Horas de un día en formato de 24 horas. Debe ser mayor o igual que 0 y, por lo general, debe ser menor o igual que 23. Una API puede permitir el valor “24:00:00” para casos como el horario de cierre de empresas. |
minutes |
Minutos de una hora. Debe ser mayor o igual que 0 y menor o igual que 59. |
seconds |
Son los segundos de un minuto. Debe ser mayor o igual que 0 y, por lo general, debe ser menor o igual que 59. Una API puede permitir el valor 60 si permite segundos bisiestos. |
nanos |
Fracciones de segundos, en nanosegundos. Debe ser mayor o igual que 0 y menor o igual que 999,999,999. |
TimeZone
Representa una zona horaria de la base de datos de zonas horarias de IANA.
Campos | |
---|---|
id |
Zona horaria de la base de datos de zonas horarias de IANA, p. ej., “America/New_York”. |
version |
Opcional. Número de versión de la base de datos de zonas horarias de IANA, p. ej., “2019a”. |