Package google.type

Индекс

ДатаВремя

Представляет гражданское время (или иногда физическое время).

Этот тип может представлять гражданское время одним из нескольких возможных способов:

  • Если 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 может допускать значение 60, если он допускает дополнительные секунды.

nanos

int32

Необязательный. Доли секунды в наносекундах. Должно быть от 0 до 999 999 999, по умолчанию — 0.

Поле объединения time_offset . Необязательный. Указывает либо смещение UTC, либо часовой пояс DateTime. Выбирайте между ними осторожно, учитывая, что данные часового пояса могут измениться в будущем (например, страна меняет даты начала и окончания летнего времени, а будущие значения DateTime в затронутом диапазоне уже сохранены). Если этот параметр опущен, считается, что DateTime соответствует местному времени. time_offset может быть только одним из следующих:
utc_offset

Duration

Смещение UTC. Должны быть целыми секундами в диапазоне от -18 часов до +18 часов. Например, смещение UTC -4:00 будет представлено как {секунды: -14400}.

time_zone

TimeZone

Часовой пояс.

ВремяДня

Обозначает время суток. Дата и часовой пояс либо не имеют значения, либо указаны в другом месте. API может разрешить високосные секунды. Связанные типы: google.type.Date и google.protobuf.Timestamp .

Поля
hours

int32

Часы суток в 24-часовом формате. Должно быть от 0 до 23. API может разрешить использование значения «24:00:00» для таких сценариев, как время закрытия предприятия.

minutes

int32

Минуты часа дня. Должно быть от 0 до 59.

seconds

int32

Секунды минут времени. Обычно должно быть от 0 до 59. API может допускать значение 60, если он допускает дополнительные секунды.

nanos

int32

Доли секунды в наносекундах. Должно быть от 0 до 999 999 999.

Часовой пояс

Представляет часовой пояс из базы данных часовых поясов IANA .

Поля
id

string

Часовой пояс IANA Часовой пояс базы данных, например «Америка/Нью_Йорк».

version

string

Необязательный. Номер версии базы данных часовых поясов IANA, например «2019a».