Indice
DateTime
Rappresenta l'ora civile (o occasionalmente l'ora fisica).
Questo tipo può rappresentare un orario civile in uno dei seguenti modi:
- Quando utc_offset è impostato e time_zone non è impostato: un'ora civile in un giorno di calendario con una determinata differenza rispetto a UTC.
- Quando time_zone è impostato e utc_offset non è impostato: un orario civile in un giorno di calendario in un determinato fuso orario.
- Quando non sono impostati né time_zone né utc_offset: un'ora civile in un giorno di calendario in ora locale.
La data è relativa al calendario gregoriano prolettico.
Se anno, mese o giorno sono pari a 0, l'oggetto DateTime è considerato non avere rispettivamente un anno, un mese o un giorno specifici.
Questo tipo può essere utilizzato anche per rappresentare un'ora fisica se tutti i campi della data e dell'ora sono impostati e una delle due opzioni di time_offset
oneof è impostata. Prendi in considerazione l'utilizzo del messaggio Timestamp
per l'ora fisica. Se il tuo caso d'uso vuole memorizzare anche il fuso orario dell'utente, puoi farlo in un altro campo.
Questo tipo è più flessibile di quanto potrebbe essere richiesto da alcune applicazioni. Assicurati di documentare e convalidare le limitazioni della tua applicazione.
Campi | |
---|---|
year |
Facoltativo. Anno della data. Deve essere compreso tra 1 e 9999 oppure 0 se viene specificata una data e ora senza anno. |
month |
Facoltativo. Mese dell'anno. Deve essere compreso tra 1 e 12 oppure 0 se viene specificato un valore data/ora senza un mese. |
day |
Facoltativo. Giorno del mese. Deve essere compreso tra 1 e 31 e valido per l'anno e il mese oppure 0 se viene specificato un valore data/ora senza un giorno. |
hours |
Facoltativo. Ore del giorno nel formato 24 ore. Deve essere compreso tra 0 e 23, il valore predefinito è 0 (mezzanotte). Un'API potrebbe scegliere di consentire il valore "24:00:00" per scenari come l'orario di chiusura dell'attività. |
minutes |
Facoltativo. Minuti dell'ora del giorno. Deve essere compreso tra 0 e 59. Il valore predefinito è 0. |
seconds |
Facoltativo. Secondi di minuti del tempo. Deve normalmente essere compreso tra 0 e 59, il valore predefinito è 0. Un'API potrebbe consentire il valore 60 se consente i secondi intercalari. |
nanos |
Facoltativo. Frazioni di secondo in nanosecondi. Deve essere compreso tra 0 e 999.999.999; il valore predefinito è 0. |
Campo unione time_offset . Facoltativo. Specifica l'offset UTC o il fuso orario di DateTime. Scegli con attenzione tra le due opzioni, tenendo presente che i dati relativi al fuso orario potrebbero cambiare in futuro (ad esempio, un paese modifica le date di inizio/fine del DST e le date e ore future nell'intervallo interessato sono già state memorizzate). Se omesso, la data e l'ora sono considerate in ora locale. time_offset può essere solo uno dei seguenti: |
|
utc_offset |
Scarto da UTC. Devono essere secondi interi, compresi tra -18 ore e +18 ore. Ad esempio, un offset UTC di -4:00 viene rappresentato come { seconds: -14400 }. |
time_zone |
Fuso orario. |
Expr
Rappresenta un'espressione di testo nella sintassi Common Expression Language (CEL). CEL è un linguaggio di espressioni simile a C. La sintassi e la semantica di CEL sono documentate all'indirizzo https://github.com/google/cel-spec.
Esempio (confronto):
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
Esempio (uguaglianza):
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
Esempio (logica):
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Esempio (manipolazione dei dati):
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
Le variabili e le funzioni esatte a cui può essere fatto riferimento all'interno di un'espressione sono determinate dal servizio che la valuta. Per ulteriori informazioni, consulta la documentazione del servizio.
Campi | |
---|---|
expression |
Rappresentazione testuale di un'espressione nella sintassi di Common Expression Language. |
title |
Facoltativo. Titolo dell'espressione, ovvero una breve stringa che ne descrive lo scopo. Può essere utilizzato, ad esempio, nelle UI che consentono di inserire l'espressione. |
description |
Facoltativo. Descrizione dell'espressione. Si tratta di un testo più lungo che descrive l'espressione, ad esempio quando si passa il mouse sopra l'espressione in un'interfaccia utente. |
location |
Facoltativo. Stringa che indica la posizione dell'espressione per la segnalazione degli errori, ad esempio un nome file e una posizione nel file. |
TimeZone
Rappresenta un fuso orario del database dei fusi orari IANA.
Campi | |
---|---|
id |
Fuso orario del database IANA Time Zone, ad esempio "America/New_York". |
version |
Facoltativo. Numero di versione del database dei fusi orari IANA, ad esempio "2019a". |