Package google.type

索引

DateTime

代表民用時間 (或偶爾的實際時間)。

這個類型可透過以下幾種方式表示公元時間:

  • 當 utc_offset 已設值,而 time_zone 未設值時:日曆日期的民用時間,與世界標準時間有特定偏差。
  • 在設定了 time_zone 但未設定 utc_offset 的情況下:特定時區中某個日曆日的民用時。
  • 如果未設定 time_zone 或 utc_offset:日曆日期的民用時間 (以當地時間為準)。

日期以西曆為主。

如果年、月或日為 0,則 DateTime 會視為不分別特定年、月或日。

如果設定了所有日期和時間欄位,且已設定 time_offset 其中一個欄位,這個類型也可以代表實體時間。建議您改用 Timestamp 訊息來表示實際時間。如果您的用途也想儲存使用者的時區,可以使用其他欄位。

這類型比某些應用程式所需的彈性更高。請務必記錄並驗證應用程式的限制。

欄位
year

int32

選用設定。日期的年份。必須介於 1 至 9999 之間;如要指定不含年份的日期日期時間,則為 0。

month

int32

選用設定。月份。必須為 1 到 12;如要指定不含月份的日期時間,請輸入 0。

day

int32

選用設定。當月第幾日。必須為 1 到 31,並屬於有效的年和月;如果只指定日期時間,請輸入 0。

hours

int32

選用設定。一天的營業時間,以 24 小時製表示。值應介於 0 到 23 之間,預設值為 0 (午夜)。API 可選擇允許使用「24:00:00」這類的值來表示營業打烊時間等情況。

minutes

int32

選用設定。一天中,每小時內的分鐘。值必須介於 0 到 59 之間,預設值為 0。

seconds

int32

選用設定。在當下時間中,該分鐘的秒數。通常必須介於 0 至 59 之間,預設值為 0。如果 API 允許閏秒,則可允許值為 60。

nanos

int32

選用設定。秒數的小數,以奈秒為單位。值必須介於 0 到 999,999,999 之間,預設值為 0。

聯集欄位 time_offset。選用設定。指定 DateTime 的 UTC 偏移或時區。請謹慎選擇,因為時區資料日後可能會變更 (例如,某個國家/地區修改夏令時間的開始/結束日期,而受影響範圍內的未來日期/時間已儲存)。如果省略,系統會將 DateTime 視為當地時間。time_offset 只能是下列其中一項:
utc_offset

Duration

世界標準時間偏移。必須為整數,介於 -18 小時至 +18 小時之間。舉例來說,如果 UTC 偏移值為 -4:00,則會以 { seconds: -14400 } 表示。

time_zone

TimeZone

時區。

TimeOfDay

代表一天中的時間。日期和時區並不需要指定,或是在其他位置上指定。API 可選擇允許閏秒。相關類型為 google.type.Dategoogle.protobuf.Timestamp

欄位
hours

int32

一天中的小時,採用 24 小時制。必須大於或等於 0,且通常必須小於或等於 23。API 可選擇允許使用「24:00:00」這類的值來表示營業打烊時間等情況。

minutes

int32

一小時的分鐘數。必須大於或等於 0,且小於或等於 59。

seconds

int32

分鐘內的秒數。必須大於或等於 0,且通常必須小於或等於 59。如果 API 允許閏秒,則可允許值為 60。

nanos

int32

秒數的小數,以奈秒為單位。必須大於或等於 0,且小於或等於 999,999,999。

TimeZone

代表 IANA 時區資料庫中的時區。

欄位
id

string

IANA 時區資料庫時區,例如「America/New_York」。

version

string

選用設定。IANA 時區資料庫版本號碼,例如「2019a」。