Rappresenta l'ora civile (o occasionalmente l'ora fisica).
Questo tipo può rappresentare un'ora civile in uno dei seguenti modi:
- Quando utcOffset è impostato e timeZone non è impostato: un orario civile in un giorno di calendario con un particolare offset rispetto a UTC.
- Quando timeZone è impostato e utcOffset non è impostato: un'ora civile in un giorno di calendario in un determinato fuso orario.
- Quando non sono impostati né timeZone né utcOffset: un'ora civile in un giorno di calendario in 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 specifici, 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.
| Rappresentazione JSON |
|---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
| Campi | |
|---|---|
year |
Facoltativo. Anno della data. Deve essere compreso tra 1 e 9999 o 0 se viene specificato un valore datetime senza anno. |
month |
Facoltativo. Mese dell'anno. Deve essere compreso tra 1 e 12 o 0 se si specifica 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: |
|
utcOffset |
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 }. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
timeZone |
Fuso orario. |