DateTime

Représente le temps civil (ou parfois l'heure physique).

Ce type peut représenter une durée civile de l'une des manières suivantes:

  • Lorsque utcOffset est défini et que timeZone n'est pas défini, il s'agit d'une heure civile d'un jour calendaire avec un décalage spécifique par rapport à l'heure UTC.
  • Lorsque timeZone est défini et que utcOffset n'est pas défini: heure civile d'un jour calendaire dans un fuseau horaire spécifique.
  • Lorsque vous ne définissez ni timeZone, ni utcOffset: heure civile d'un jour civil en heure locale.

La date est liée au calendrier grégorien proleptique.

Si l'année, le mois ou le jour sont 0, le DateTime est considéré comme n'ayant pas respectivement une année, un mois ou un jour spécifique.

Ce type peut également être utilisé pour représenter une heure physique si tous les champs de date et d'heure sont définis, et si un cas particulier de l'élément oneof time_offset est défini. Envisagez plutôt d'utiliser le message Timestamp pour le temps physique. Si, dans votre cas d'utilisation, vous souhaitez également stocker le fuseau horaire de l'utilisateur, vous pouvez le faire dans un autre champ.

Ce type est plus flexible que certaines applications peuvent souhaiter. Veillez à documenter et à valider les limites de votre application.

Représentation JSON
{
  "year": integer,
  "month": integer,
  "day": integer,
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer,

  // Union field time_offset can be only one of the following:
  "utcOffset": string,
  "timeZone": {
    object (TimeZone)
  }
  // End of list of possible types for union field time_offset.
}
Champs
year

integer

Facultatif. Année de la date. La valeur doit être comprise entre 1 et 9 999, ou égale à 0 si vous spécifiez une date et une heure sans année.

month

integer

Facultatif. Mois de l'année. Elle doit être comprise entre 1 et 12, ou égale à 0 si vous spécifiez une date et une heure sans mois.

day

integer

Facultatif. Jour du mois. Elle doit être comprise entre 1 et 31, et valide pour l'année et le mois, ou égale à 0 si vous spécifiez une date et une heure sans jour.

hours

integer

Facultatif. Heure de la journée au format 24 heures. Doit être comprise entre 0 et 23. Valeur par défaut : 0 (minuit). Une API peut choisir d'autoriser la valeur "24:00:00" pour des cas tels que l'heure de fermeture des bureaux.

minutes

integer

Facultatif. Minutes de l'heure de la journée. Doit être comprise entre 0 et 59. Valeur par défaut : 0.

seconds

integer

Facultatif. Secondes de l'heure de la journée. Doit normalement être compris entre 0 et 59. Valeur par défaut : 0. Une API peut autoriser la valeur 60 si elle autorise les secondes intercalaires.

nanos

integer

Facultatif. Fractions de secondes en nanosecondes. Doit être comprise entre 0 et 999 999 999. Valeur par défaut : 0.

Champ d'union time_offset. Facultatif. Spécifie soit le décalage UTC, soit le fuseau horaire de DateTime. Choisissez bien entre les deux, étant donné que les données de fuseau horaire peuvent changer à l'avenir (par exemple, un pays modifie ses dates de début et de fin d'heure d'été, et les dates et heures futures de la période concernée avaient déjà été enregistrées). Si cette valeur est omise, la valeur DateTime est considérée comme exprimée en heure locale. time_offset ne peut être qu'un des éléments suivants :
utcOffset

string (Duration format)

Décalage UTC. Doit être un nombre entier de secondes, compris entre -18 heures et +18 heures. Par exemple, un décalage UTC de -4:00 serait représenté par { seconds: -14400 }.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

timeZone

object (TimeZone)

Fuseau horaire.

TimeZone

Représente un fuseau horaire de la base de données des fuseaux horaires IANA.

Représentation JSON
{
  "id": string,
  "version": string
}
Champs
id

string

Fuseau horaire de la base de données des fuseaux horaires IANA, par exemple "America/New_York".

version

string

Facultatif. Numéro de version de la base de données des fuseaux horaires IANA, par exemple "2019a".