索引
DateTime
代表民用時間 (或偶爾的實際時間)。
這個類型可透過以下幾種方式表示公元時間:
- 當 utc_offset 已設值,而 time_zone 未設值時:日曆日期的民用時間,與世界標準時間有特定偏差。
- 當 time_zone 已設值,但 utc_offset 未設值時:特定時區中日曆日期的民用時間。
- 如果未設定 time_zone 或 utc_offset:日曆日的民用時間 (以當地時間為準)。
日期以西曆為主。
如果年、月或日為 0,系統會認為 DateTime 分別沒有特定年、月或日。
如果已設定所有日期和時間欄位,且已設定 time_offset
oneof 的任一情況,則也可使用此類型來表示實際時間。建議您改用 Timestamp
訊息來表示實際時間。如果您的用途也想儲存使用者的時區,可以使用其他欄位。
這類型比某些應用程式所需的彈性更高。請務必記錄並驗證應用程式的限制。
欄位 | |
---|---|
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 偏移量或時區。請謹慎選擇,因為時區資料日後可能會變更 (例如,某個國家/地區修改夏令時間開始/結束日期,而受影響範圍內的未來日期/時間已儲存)。如果省略,系統會將 DateTime 視為當地時間。time_offset 只能是下列其中一項: |
|
utc_offset |
世界標準時間時差。必須是整數秒,介於 -18 小時和 +18 小時之間。舉例來說,如果 UTC 偏移量為 -4:00,則會以 { seconds: -14400 } 表示。 |
time_zone |
時區。 |
Expr
代表一般運算語言 (CEL) 語法中的文字運算式。CEL 是類似 C 的運算式語言。如要查看 CEL 的語法和語意,請前往 https://github.com/google/cel-spec。
範例 (比較):
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
範例 (相等):
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
範例 (邏輯):
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
示例 (資料操控):
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
運算式中可參照的確切變數和函式,取決於評估運算式的服務。如需更多資訊,請參閱服務說明文件。
欄位 | |
---|---|
expression |
使用一般運算語言語法的運算式文字表示法。 |
title |
(非必要) 運算式的標題,即描述其用途的簡短字串。這可用在允許輸入運算式的 UI 中。 |
description |
(非必要) 運算式的說明。這是一段較長的文字,用於描述運算式。舉例來說,使用者在 UI 中將游標懸停在運算式上方時,即可顯示說明文字。 |
location |
(非必要) 指出要提報錯誤的運算式所在位置,例如檔案名稱及檔案內的位置。 |
TimeZone
代表 IANA 時區資料庫中的時區。
欄位 | |
---|---|
id |
IANA 時區資料庫時區,例如「America/New_York」。 |
version |
(非必要) IANA 時區資料庫版本號碼,例如「2019a」。 |