DateTime

Représente le temps civil (ou occasionnellement du temps physique).

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

  • Lorsque utcOffset est défini et que timeZone n'est pas défini: heure civile pour un jour calendaire avec un décalage particulier par rapport à l'UTC.
  • Lorsque timeZone est défini et que utcOffset n'est pas défini: heure civile pour un jour calendaire dans un fuseau horaire spécifique.
  • Lorsque ni timeZone, ni utcOffset ne sont définis: une heure civile sur un jour calendaire à l'heure locale.

La date est donnée selon le calendrier grégorien proleptique.

Si l'année, le mois ou le jour sont 0, le champ DateTime est considéré comme ne correspondant pas à 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 que chaque cas de time_offset est défini. Envisagez plutôt d'utiliser le message Timestamp pour l'heure 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 ne le souhaitent. 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. Doit être compris entre 1 et 9999, ou 0 si vous spécifiez une date/heure sans année.

month

integer

Facultatif. Mois de l'année. La valeur 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. La valeur 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. La valeur doit être comprise entre 0 et 23. La valeur par défaut est 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. La valeur doit être comprise entre 0 et 59 (valeur par défaut : 0).

seconds

integer

Facultatif. Secondes de l'heure de la journée. Cette valeur doit normalement être comprise 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. La valeur doit être comprise entre 0 et 999 999 999. La valeur par défaut est 0.

Champ d'union time_offset. Facultatif. Spécifie le décalage UTC ou le fuseau horaire du paramètre "DateTime". Réfléchissez bien avant de choisir l'un des deux, car les données de fuseau horaire peuvent changer à l'avenir (par exemple, si un pays modifie ses dates de début et de fin d'heure d'été, et les dates et heures ultérieures dans la plage concernée ont déjà été enregistrées). S'il est omis, la date et l'heure sont considérées comme étant en heure locale. time_offset ne peut être qu'un des éléments suivants :
utcOffset

string (Duration format)

Décalage par rapport à l'UTC. La durée doit être exprimée en secondes entières. Elle doit être comprise 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 un maximum de neuf chiffres après la virgule, 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".