Index
DateTime
Représente l'heure civile (ou parfois l'heure physique).
Ce type peut représenter une heure civile de l'une des manières suivantes:
- Lorsque utc_offset est défini et que time_zone n'est pas défini: heure civile d'un jour calendaire avec un décalage particulier par rapport à l'heure UTC.
- Lorsque time_zone est défini et que utc_offset n'est pas défini: heure civile d'un jour calendaire dans un fuseau horaire donné.
- Lorsque ni "time_zone" ni "utc_offset" ne sont définis: heure civile d'un jour calendaire en heure locale.
La date est liée au calendrier grégorien proleptique.
Si l'année, le mois ou le jour sont définis sur 0, la valeur DateTime est considérée comme n'ayant pas d'année, de mois ou de jour spécifiques, respectivement.
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 l'un des cas de l'élément oneof time_offset
est défini. Pensez plutôt à utiliser le message Timestamp
pour l'heure physique. Si votre cas d'utilisation souhaite également stocker le fuseau horaire de l'utilisateur, vous pouvez le faire dans un autre champ.
Ce type est plus flexible que certaines applications pourraient le souhaiter. Veillez à documenter et à valider les limites de votre application.
Champs | |
---|---|
year |
Facultatif. Année de la date. Elle doit être comprise entre 1 et 9999, ou égale à 0 si vous spécifiez une date et une heure sans année. |
month |
Facultatif. Mois de l'année. Il doit être compris entre 1 et 12, ou égal à 0 si vous spécifiez une date et heure sans mois. |
day |
Facultatif. Jour du mois. Il doit être compris entre 1 et 31, et valide pour l'année et le mois, ou égal à 0 si vous spécifiez une date/heure sans jour. |
hours |
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 |
Facultatif. Minutes de l'heure de la journée. La valeur doit être comprise entre 0 et 59. La valeur par défaut est 0. |
seconds |
Facultatif. Secondes de l'heure de la journée. Elles doivent normalement être comprises entre 0 et 59. La valeur par défaut est 0. Une API peut autoriser la valeur 60 si elle autorise les secondes intercalaires. |
nanos |
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. Indique le décalage UTC ou le fuseau horaire de la date et de l'heure. Choisissez-en une avec soin, en tenant compte du fait que les données de fuseau horaire peuvent changer à l'avenir (par exemple, un pays modifie les dates de début/fin de l'heure d'été, et les futures DateTimes de la plage concernée ont déjà été stockées). En cas d'omission, la date/heure est considérée comme étant en heure locale. time_offset ne peut être qu'un des éléments suivants : |
|
utc_offset |
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 est représenté par { seconds: -14400 }. |
time_zone |
Fuseau horaire |
Expr
Représente une expression textuelle dans la syntaxe CEL (Common Expression Language). CEL est un langage d'expression de type C. La syntaxe et la sémantique de CEL sont documentées à l'adresse https://github.com/google/cel-spec.
Exemple (comparaison) :
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
Exemple (égalité) :
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
Exemple (logique) :
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Exemple (manipulation de données) :
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
Les fonctions et variables exactes pouvant être référencées dans une expression sont déterminées par le service qui l'évalue. Pour en savoir plus, consultez la documentation relative au service.
Champs | |
---|---|
expression |
Représentation textuelle d'une expression à l'aide de la syntaxe CEL (Common Expression Language). |
title |
Facultatif. Titre de l'expression, sous forme de chaîne courte décrivant son objectif. Il peut par exemple être utilisé dans les interfaces utilisateur qui permettent de saisir l'expression. |
description |
Facultatif. Description de l'expression. Il s'agit d'un texte plus long décrivant l'expression (par exemple, lorsque l'utilisateur passe la souris sur celle-ci dans une interface utilisateur). |
location |
Facultatif. Chaîne indiquant l'emplacement de l'expression pour la création de rapports d'erreurs (par exemple, un nom de fichier et une position dans le fichier). |
TimeZone
Représente un fuseau horaire de la base de données des fuseaux horaires IANA.
Champs | |
---|---|
id |
Fuseau horaire de la base de données des fuseaux horaires IANA, par exemple "America/New_York". |
version |
Facultatif. Numéro de version de la base de données des fuseaux horaires IANA, par exemple "2019a". |