索引
日期
表示整个或部分日历日期(例如生日)。一天中的时间和时区要么在别处指定,要么不重要。日期相对于公历。可以表示以下任一情况:
- 包含非零年份、月份和天值的完整日期。
- 月份和天,年份值为零(例如周年纪念日)。
- 单独的年份,月份和天值为零。
- 年份和月份,天值为零(例如,信用卡到期日期)。
相关类型:
google.type.TimeOfDaygoogle.type.DateTimegoogle.protobuf.Timestamp
| 字段 | |
|---|---|
year |
日期中的年份。必须介于 1 到 9999 之间,或为 0(即指定不含年份的日期)。 |
month |
一年中的第几个月。必须介于 1 到 12 之间,或为 0(即只指定年份,不指定月份和天值)。 |
day |
一个月中的第几天。必须介于 1 到 31 之间并且对年份和月份有效,或为 0(即天不重要,指定单独的年份或者年份和月份)。 |
DateTime
表示民用时间(或偶尔表示物理时间)。
此类型可以通过几种可能的方式之一表示民用时间:
- 当设置了 utc_offset 但未设置 time_zone 时:一个日历日内相对于世界协调时间 (UTC) 具有特定偏移量的民用时间。
- 当设置了 time_zone 但未设置 utc_offset 时:特定时区中一个日历日内的民用时间。
- 当未设置 time_zone 和 utc_offset 时:本地时间中一个日历日内的民用时间。
日期相对于公历格里历。
如果年、月或日为 0,则 DateTime 被视为分别没有特定的年、月或日。
如果设置了所有日期和时间字段,并且设置了 time_offset 的任一情形,此类型也可用于表示物理时间。请考虑改用 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 允许闰秒,则 API 可以允许 60 一值。 |
nanos |
可选。秒数的小数部分(以纳秒为单位)。必须是 0 到 999,999,999 之间的数字,默认为 0。 |
联合字段 time_offset。可选。指定 DateTime 的世界协调时间 (UTC) 偏移量或时区。考虑到时区数据将来可能会发生变化(例如,某个国家/地区修改了夏令时开始/结束日期,而受影响范围内的未来 DateTime 已存储),请仔细进行选择。如果省略,则 DateTime 被视为采用本地时间。time_offset 只能是下列其中一项: |
|
utc_offset |
世界协调时间 (UTC) 偏移量。必须是介于 -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 |
可选。表达式的标题,即说明表达式用途的短字符串。该标题可用于允许输入表达式的内容(例如界面)中。 |
description |
可选。表达式的说明。该说明是描述表达式的较长文本,例如在界面中将鼠标悬停在表达式上时显示的文本。 |
location |
可选。此字符串指示用于错误报告的表达式的位置,例如文件名和文件中的位置。 |
LatLng
表示纬度/经度对的对象。该对象以一对双精度数表示,分别代表纬度度数和经度度数。除非另有说明,否则该对象必须符合 WGS84 标准。值必须介于标准化范围内。
| 字段 | |
|---|---|
latitude |
纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。 |
longitude |
经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。 |
TimeZone
表示 IANA 时区数据库中的时区。
| 字段 | |
|---|---|
id |
IANA 时区数据库时区。例如“America/New_York”。 |
version |
可选。IANA 时区数据库版本号。例如“2019a”。 |