代表民間時間 (或偶爾是實體時間)。
這種類型的代表方式可能包括下列幾種民生時間:
- 設定 utcOffset 且未設定 timeZone 時:在日曆日的民用時間 (與世界標準時間相差的偏移)。
- 設定 timeZone 且未設定 utcOffset 時:在特定時區的日曆上,每一天的民用時間。
- 不設定 timeZone 或 utcOffset 時:在當地時間的日曆上,每個民用時間。
該日期是與希臘的 Google 日曆相關。
如果該年、月或日為 0,系統會將該日期視為不指定特定年、月或日。
所有日期和時間欄位已設定且 time_offset
的任一類型都設定時,這個類型也可用於表示實際時間。建議你改用Timestamp
傳送實體郵件。如果您的用途也想要儲存使用者的時區,則可在其他欄位中完成。
這種模式比某些應用程式可能需要更彈性。請務必記錄並驗證應用程式限制。
JSON 表示法 |
---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
欄位 | |
---|---|
year |
選用,日期。必須介於 1 到 9999 之間;如果指定不含日期的日期,則須為 0。 |
month |
選用,月份。請指定介於 1 到 12 之間的值;如果指定日期的月份不得為月份,則這個值必須是 0。 |
day |
選用,當月第幾日。必須是介於 1 到 31 之間的年分,且有效期間為年份與月份,或是指定 0 (不含日期)。 |
hours |
選用,採 24 小時制的時段。應為 0 到 23,預設值為 0 (午夜)。API 可選擇允許使用「24:00:00」這類的值來表示營業打烊時間等情況。 |
minutes |
選用,一天的分鐘數。必須介於 0 到 59 之間,預設值為 0。 |
seconds |
選用,時間的秒數。通常為 0 到 59,默示為 0。如果 API 允許閏秒,則可允許值為 60。 |
nanos |
選用,秒數的秒數。必須介於 0 到 999,999,999 之間,預設值為 0。 |
聯集欄位 time_offset 。選用,指定 DateTime 的 UTC 偏移或時區。請謹慎選擇,因為時區資料未來可能會有所變動 (例如,國家/地區會修改 DST 開始/結束日期,而受影響日期範圍的未來日期時間已儲存)。如果省略,系統會將 DateTime 視為當地時間。time_offset 只能是下列其中一項: |
|
utcOffset |
世界標準時間偏移。必須是 -18 小時到 +18 小時之間的整數,舉例來說,世界標準時間 -4:00 的偏移值為 { 秒:-14400 }。 持續時間以秒為單位,最多 9 個小數位數,結尾為「 |
timeZone |
時區。 |
TimeZone
代表 IANA Time Zone Database 中的時區。
JSON 表示法 |
---|
{ "id": string, "version": string } |
欄位 | |
---|---|
id |
IANA 時區資料庫時區,例如「America/New_York」。 |
version |
選用,IANA 時區資料庫版本號碼,例如「2019a」。 |