Package google.type

索引

DateTime

表示民用时间(或偶尔的实际时间)。

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

  • 如果设置了 utc_offset 且未设置 time_zone,则表示日历日中的民用时间与世界协调时间 (UTC) 有特定偏移量。
  • 如果设置了 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 允许闰秒,则 API 可以允许 60 一值。

nanos

int32

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

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

Duration

UTC 时差。必须是介于 -18 小时到 +18 小时之间的整数。例如,世界协调时间 (UTC) 偏移量 -4:00 表示为 { seconds: -14400 }。

time_zone

TimeZone

时区。

LatLng

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

字段
latitude

double

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

longitude

double

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

TimeZone

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

字段
id

string

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

version

string

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