Indice
Data
Rappresenta una data di calendario intera o parziale, ad esempio un compleanno. L'ora del giorno e il fuso orario sono specificati altrove o sono insignificanti. La data è relativa al calendario gregoriano. Può rappresentare uno dei seguenti elementi:
- Una data completa, con valori diversi da zero per anno, mese e giorno.
- Un mese e un giorno, con un anno pari a zero (ad esempio, un anniversario).
- Un anno da solo, con un mese e un giorno pari a zero.
- Un anno e un mese, con un giorno pari a zero (ad esempio, la data di scadenza di una carta di credito).
Tipi correlati:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
Campi | |
---|---|
year |
L'anno della data. Deve essere compreso tra 1 e 9999 o tra 0 e 9999 per specificare una data senza anno. |
month |
Mese dell'anno. Deve essere compreso tra 1 e 12 o 0 per specificare un anno senza mese e giorno. |
day |
Giorno del mese. Deve essere compreso tra 1 e 31 e valido per l'anno e il mese oppure compreso tra 0 e 31 per specificare un anno da solo o un anno e un mese in cui il giorno non è significativo. |
DateTime
Rappresenta l'ora civile (o occasionalmente l'ora fisica).
Questo tipo può rappresentare un'ora civile in uno dei seguenti modi:
- Quando utc_offset è impostato e time_zone non è impostato: un orario civile in un giorno di calendario con un particolare offset rispetto all'UTC.
- Quando time_zone è impostato e utc_offset non è impostato: un'ora civile in un giorno di calendario in un determinato fuso orario.
- Quando non sono impostati né time_zone né utc_offset: un orario civile in un giorno di calendario nell'ora locale.
La data è relativa al calendario gregoriano prolettico.
Se l'anno, il mese o il giorno sono 0, DateTime viene considerato senza un anno, un mese o un giorno specifico, rispettivamente.
Questo tipo può essere utilizzato anche per rappresentare un orario fisico se tutti i campi di data e ora sono impostati e viene impostato uno dei casi di time_offset
oneof. Prendi in considerazione l'utilizzo del messaggio Timestamp
per l'ora fisica. Se il tuo caso d'uso prevede anche di memorizzare il fuso orario dell'utente, puoi farlo in un altro campo.
Questo tipo è più flessibile di quanto alcune applicazioni potrebbero desiderare. Assicurati di documentare e convalidare le limitazioni della tua applicazione.
Campi | |
---|---|
year |
Facoltativo. Anno della data. Deve essere compreso tra 1 e 9999 o 0 se viene specificata una data e ora senza anno. |
month |
Facoltativo. Mese dell'anno. Deve essere compreso tra 1 e 12 o 0 se viene specificata una data e ora senza mese. |
day |
Facoltativo. Giorno del mese. Deve essere compreso tra 1 e 31 e valido per l'anno e il mese oppure 0 se specifichi una data e ora senza giorno. |
hours |
Facoltativo. Ore del giorno in formato 24 ore. Deve essere compreso tra 0 e 23, il valore predefinito è 0 (mezzanotte). Un'API può 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 di tempo. Normalmente deve 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 secondi 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 del fuso orario potrebbero cambiare in futuro (ad esempio, un paese modifica le date di inizio/fine dell'ora legale e le date e ore future nell'intervallo interessato sono già state memorizzate). Se omesso, DateTime viene considerato nell'ora locale. time_offset può essere solo uno dei seguenti: |
|
utc_offset |
Scarto da UTC. Deve essere un numero intero di secondi compreso 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 testuale nella sintassi di 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 è possibile fare 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. Questo è un testo più lungo che descrive l'espressione, ad esempio quando viene visualizzata in una UI. |
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 dei fusi orari IANA. Ad esempio, "America/New_York". |
version |
Facoltativo. Numero di versione del database dei fusi orari IANA. Ad esempio, "2019a". |