Package google.type

索引

DateTime

表示民用时间(有时也表示实际时间)。

此类型可以通过以下几种可能的方式之一表示民用时间:

  • 如果设置了 utc_offset 且未设置 time_zone:日历日的民用时间,与世界协调时间 (UTC) 有特定偏移量。
  • 如果设置了 time_zone 且未设置 utc_offset:特定时区中某个日历日的民用时间。
  • 如果未设置 time_zone 和 utc_offset:则为日历日的民用时间(本地时间)。

日期相对于前公历。

如果年份、月份或日期为 0,则 DateTime 会被视为分别不具有特定的年份、月份或日期。

如果所有日期和时间字段均已设置,并且 time_offset oneof 的任一情况均已设置,则此类型还可用于表示实际时间。请考虑改用 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 允许闰秒,则 API 可以允许 60 一值。

nanos

int32

可选。秒数的小数部分(以纳秒为单位)。必须介于 0 到 999,999,999 之间,默认为 0。

联合字段 time_offset。可选。指定 DateTime 的 UTC 偏移量或时区。请谨慎选择这两者,因为时区数据未来可能会发生变化(例如,某个国家/地区修改了夏令时开始/结束日期,而受影响范围内的未来日期时间已存储)。如果省略,则 DateTime 会被视为当地时间。time_offset 只能是下列其中一项:
utc_offset

Duration

UTC 偏移量。必须是整秒数,介于 -18 小时到 +18 小时之间。例如,-4:00 的 UTC 偏移量将表示为 { seconds: -14400 }。

time_zone

TimeZone

时区。

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

string

采用通用表达式语言语法的表达式的文本表示法。

title

string

可选。表达式的标题,即说明表达式用途的短字符串。该标题可用于允许输入表达式的内容(例如界面)中。

description

string

可选。表达式的说明。该说明是描述表达式的较长文本,例如在界面中将鼠标悬停在表达式上时显示的文本。

location

string

可选。此字符串指示用于错误报告的表达式的位置,例如文件名和文件中的位置。

TimeZone

表示 IANA 时区数据库中的时区。

字段
id

string

IANA 时区数据库中的时区,例如“America/New_York”。

version

string

可选。IANA 时区数据库版本号,例如“2019a”。