Package google.type

索引

日期

表示整个或部分日历日期(例如生日)。一天中的时间和时区要么在别处指定,要么不重要。日期相对于公历。可以表示以下任一情况:

  • 包含非零年份、月份和天值的完整日期。
  • 月份和天,年份值为零(例如周年纪念日)。
  • 单独的年份,月份和天值为零。
  • 年份和月份,天值为零(例如,信用卡到期日期)。

相关类型:

字段
year

int32

日期中的年份。必须介于 1 到 9999 之间,或为 0(即指定不含年份的日期)。

month

int32

一年中的第几个月。必须介于 1 到 12 之间,或为 0(即只指定年份,不指定月份和天值)。

day

int32

一个月中的第几天。必须介于 1 到 31 之间并且对年份和月份有效,或为 0(即天不重要,指定单独的年份或者年份和月份)。

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

时区。

间隔

表示时间间隔,编码为开始时间戳(包括)和结束时间戳(不包括)。

开始时间必须小于或等于结束时间。如果开始时间等于结束时间,则间隔时间为空(不匹配任何时间)。如果未指定开始时间和结束时间,则该时间间隔与任何时间都匹配。

字段
start_time

Timestamp

可选。间隔时段的开始值(含)。

如果指定了此时间间隔,则与此时间间隔匹配的时间戳必须与开始时间相同或晚于开始时间。

end_time

Timestamp

可选。间隔时段(含端点值)的结束时间。

如果已指定,则与此间隔时间匹配的时间戳必须在结束时间之前。

LatLng

表示纬度/经度对的对象。该对象以一对双精度数表示,分别代表纬度度数和经度度数。除非另有说明,否则该对象必须符合 WGS84 标准。值必须介于标准化范围内。

字段
latitude

double

纬度(以度为单位)。它必须在 [-90.0, +90.0] 范围内。

longitude

double

经度(以度为单位)。它必须在 [-180.0, +180.0] 范围内。

LocalizedText

特定语言文本的本地化变体。

字段
text

string

采用与下方 language_code 对应的语言的本地化字符串。

language_code

string

文本的 BCP-47 语言代码,例如“en-US”或“sr-Latn”。

如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier

TimeZone

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

字段
id

string

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

version

string

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