Indice
DateTime
Rappresenta il tempo civile (o talvolta l'ora fisica).
Questo tipo di rappresentazione può rappresentare un'epoca civile in uno dei pochi modi possibili:
- Quando utc_offset è impostato e il fuso orario non è impostato: un'ora civile in un giorno di calendario con una differenza particolare rispetto al fuso orario UTC.
- Quando il fuso orario è impostato e utc_offset non è impostato: l'ora civile in un giorno di calendario in un determinato fuso orario.
- Se non è impostato né il fuso orario né utc_offset: l'ora civile in un giorno di calendario nell'ora locale.
La data è relativa al Calendario gregoriano prolettico.
Se il valore di anno, mese o giorno è pari a 0, si considera che DateTime non abbia rispettivamente un anno, un mese o un giorno specifico.
Questo tipo può essere utilizzato anche per rappresentare un'ora fisica se sono impostati tutti i campi relativi a data e ora e viene impostato uno dei due casi time_offset. Prendi in considerazione l'utilizzo del messaggio Timestamp per l'orario fisico. Se per il tuo caso d'uso vuoi memorizzare il fuso orario dell'utente, puoi farlo in un altro campo.
Questo tipo è più flessibile di quanto non sia richiesto da alcune applicazioni. Assicurati di documentare e convalidare i limiti della tua applicazione.
| Campi | |
|---|---|
year |
Campo facoltativo. Anno della data. Deve essere compreso tra 1 e 9999 o 0 se si specifica una data/ora senza anno. |
month |
Campo facoltativo. Mese dell'anno. Il valore deve essere compreso tra 1 e 12 o 0 se viene specificata una data/ora senza mese. |
day |
Campo facoltativo. Giorno del mese. Deve essere compreso tra 1 e 31 e deve essere valido per l'anno e il mese oppure 0 se viene specificata una data/ora senza giorno. |
hours |
Campo facoltativo. Le ore del giorno nel 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 |
Campo facoltativo. Minuti dell'ora del giorno. Il valore deve essere compreso tra 0 e 59, il valore predefinito è 0. |
seconds |
Campo facoltativo. Secondi di minuti del 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 |
Campo facoltativo. Frazioni di secondi in nanosecondi. Deve essere compreso tra 0 e 999.999.999, il valore predefinito è 0. |
Campo unione time_offset. Campo facoltativo. Specifica la differenza UTC o il fuso orario di DateTime. Sceglile con attenzione, considerando che i dati relativi al fuso orario potrebbero cambiare in futuro (ad esempio, un paese modifica le date di inizio/fine dell'ora legale e che DateTimes future nell'intervallo interessato sono già state memorizzate). Se omesso, DateTime è considerata nel fuso orario locale. time_offset può essere solo uno dei seguenti: |
|
utc_offset |
Compensazione UTC. Deve essere un numero di secondi interi, compreso tra -18 e +18 ore. Ad esempio, una differenza UTC di -4:00 viene rappresentata come { seconds: -14400 }. |
time_zone |
Fuso orario. |
LatLng
Un oggetto che rappresenta una coppia latitudine/longitudine. Questo valore è espresso come coppia di doppi per rappresentare i gradi di latitudine e i gradi di longitudine. Se non diversamente specificato, questo oggetto deve essere conforme allo standard WGS84. I valori devono essere compresi negli intervalli normalizzati.
| Campi | |
|---|---|
latitude |
La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0]. |
longitude |
Longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0]. |
TimeZone
Rappresenta un fuso orario del database dei fusi orari IANA.
| Campi | |
|---|---|
id |
Fuso orario del database di fusi orari IANA, ad esempio "America/New_York". |
version |
Campo facoltativo. Numero di versione di IANA Time Zone Database, ad esempio "2019a". |