Stellt die amtliche Zeit (oder gelegentlich die physische Zeit) dar.
Dieser Typ kann auf verschiedene Arten eine bürgerliche Zeit darstellen:
- Wenn „utcOffset“ festgelegt und „timeZone“ nicht festgelegt ist: eine amtliche Zeit an einem Kalendertag mit einem bestimmten Zeitversatz von UTC.
- Wenn „timeZone“ festgelegt und „utcOffset“ nicht festgelegt ist: Eine amtliche Zeitangabe an einem Kalendertag in einer bestimmten Zeitzone.
- Wenn weder „timeZone“ noch „utcOffset“ festgelegt ist: Eine bürgerliche Uhrzeit an einem Kalendertag in Ortszeit.
Das Datum wird relativ zum proleptischen gregorianischen Kalender angegeben.
Wenn Jahr, Monat oder Tag 0 ist, hat das DateTime-Objekt kein bestimmtes Jahr, keinen bestimmten Monat oder keinen bestimmten Tag.
Dieser Typ kann auch verwendet werden, um eine physische Zeit anzugeben, wenn alle Datums- und Uhrzeitfelder festgelegt sind und einer der Fälle von time_offset
oneof festgelegt ist. Verwenden Sie stattdessen die Timestamp
-Nachricht für die physische Zeit. Wenn Sie in Ihrem Anwendungsfall auch die Zeitzone des Nutzers speichern möchten, können Sie dies in einem anderen Feld tun.
Dieser Typ ist flexibler als für einige Anwendungen erforderlich. Dokumentieren und validieren Sie die Einschränkungen Ihrer Anwendung.
JSON-Darstellung |
---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
Felder | |
---|---|
year |
Optional. Jahr des Datums. Es muss zwischen 1 und 9999 liegen oder kann 0 sein, wenn ein Datum und eine Uhrzeit ohne Jahresangabe angegeben werden. |
month |
Optional. Monat des Jahres. Die Angabe muss zwischen 1 und 12 liegen. Sie kann auch 0 sein, wenn ein Datum und eine Uhrzeit ohne Monat angegeben werden. |
day |
Optional. Tag des Monats. Die Angabe muss zwischen 1 und 31 liegen und für das Jahr und den Monat gültig sein. Sie kann auch 0 sein, wenn ein Datum und eine Uhrzeit ohne Tag angegeben werden. |
hours |
Optional. Stunden im 24-Stunden-Format. Sollte zwischen 0 und 23 liegen. Standardmäßig ist 0 (Mitternacht) festgelegt. Eine API kann den Wert "24:00:00" für Szenarien wie Geschäftsschlusszeit zulassen. |
minutes |
Optional. Minuten der Zeitangabe. Muss zwischen 0 und 59 liegen. Standardmäßig ist 0 festgelegt. |
seconds |
Optional. Sekunden der Zeitangabe. Muss normalerweise zwischen 0 und 59 liegen. Standardmäßig ist 0 festgelegt. Eine API kann den Wert 60 zulassen, wenn sie Schaltsekunden zulässt. |
nanos |
Optional. Sekundenbruchteile in Nanosekunden. Muss zwischen 0 und 999.999.999 liegen. Standardmäßig ist 0 festgelegt. |
Union-Feld time_offset . Optional. Gibt entweder den UTC-Zeitunterschied oder die Zeitzone der DateTime an. Wählen Sie eine Zeitzone mit Bedacht aus, da sich die Zeitzonendaten in Zukunft ändern können. Beispiel: Ein Land ändert die Start- und Enddaten der Sommerzeit und zukünftige Datumsangaben im betroffenen Zeitraum wurden bereits gespeichert. Wird das Feld weggelassen, wird davon ausgegangen, dass die Uhrzeit in der Ortszeit angegeben ist. Für time_offset ist nur einer der folgenden Werte zulässig: |
|
utcOffset |
Zeitzonendifferenz zur UTC Muss eine ganze Zahl zwischen -18 Stunden und +18 Stunden sein. Ein UTC-Offset von -4:00 würde beispielsweise als { seconds: -14400 } dargestellt. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
timeZone |
Zeitzone |
TimeZone
Stellt eine Zeitzone aus der IANA-Zeitzonendatenbank dar.
JSON-Darstellung |
---|
{ "id": string, "version": string } |
Felder | |
---|---|
id |
Zeitzone aus der IANA-Zeitzonendatenbank, z. B. "Amerika/New_York". |
version |
Optional. Versionsnummer der IANA-Zeitzonendatenbank, z. B. "2019a". |