Spec-Zone.ru › Elixir 1.9

Calendar.TimeZoneDatabase поведение

Этот модуль определяет поведение для предоставления данных о часовых поясах.

IANA предоставляет данные о часовых поясах, которые включают данные об различных смещениях от UTC и стандартных смещениях для часовых поясов.

Краткое описание

Типы

time_zone_period()

Период, в течение которого действует определенное сочетание смещения от UTC, стандартного смещения и сокращения зоны.

time_zone_period_limit()

Предел, до которого начинается или заканчивается определенный период часового пояса.

Обработчики

time_zone_period_from_utc_iso_days(arg1, arg2)

Период часового пояса для определенного момента времени в UTC для конкретного часового пояса.

time_zone_periods_from_wall_datetime(arg1, arg2)

Возможные периоды часового пояса для определенного часового пояса и даты и времени по местному времени.

Типы

time_zone_period()

Specs

time_zone_period() :: %{
  optional(any()) => any(),
  :utc_offset => Calendar.utc_offset(),
  :std_offset => Calendar.std_offset(),
  :zone_abbr => Calendar.zone_abbr()
}

Период, в течение которого действует определенное сочетание смещения от UTC, стандартного смещения и сокращения зоны.

Например, один период может соответствовать лету 2018 года в "Europe/London", где действует летнее время / летнее время, и длится с весны до осени. Осенью std_offset изменяется вместе с zone_abbr, поэтому для зимы требуется другой период.

time_zone_period_limit()

Specs

time_zone_period_limit() :: Calendar.naive_datetime()

Предел, до которого начинается или заканчивается определенный период часового пояса.

Начало включительно. Конец исключающий. Например, если период с 2015-03-29 01:00:00 до 2015-10-25 01:00:00, период включает и начинается с начала 2015-03-29 01:00:00 и длится до момента непосредственно перед 2015-10-25 01:00:00.

Начало или конец некоторых периодов бесконечны. Например, последний период для часовых поясов без летнего времени или планов изменений. Однако для целей этого поведения они используются только для разрывов во времени по местному времени, где необходимые временные рамки периода приходятся на определенное время.

Обработчики

time_zone_period_from_utc_iso_days(arg1, arg2)

Specs

time_zone_period_from_utc_iso_days(Calendar.iso_days(), Calendar.time_zone()) ::
  {:ok, time_zone_period()}
  | {:error, :time_zone_not_found | :utc_only_time_zone_database}

Период часового пояса для определенного момента времени в UTC для конкретного часового пояса.

Принимает имя часового пояса и точку во времени для UTC и возвращает time_zone_period для этой точки во времени.

time_zone_periods_from_wall_datetime(arg1, arg2)

Specs

time_zone_periods_from_wall_datetime(
  Calendar.naive_datetime(),
  Calendar.time_zone()
) ::
  {:ok, time_zone_period()}
  | {:ambiguous, time_zone_period(), time_zone_period()}
  | {:gap, {time_zone_period(), time_zone_period_limit()},
     {time_zone_period(), time_zone_period_limit()}}
  | {:error, :time_zone_not_found | :utc_only_time_zone_database}

Возможные периоды часового пояса для определенного часового пояса и даты и времени по местному времени.

Если предоставленное datetime неоднозначно, возвращается кортеж с :ambiguous и двумя возможными периодами. Периоды в списке отсортированы по возрастанию начала.

Если предоставленное datetime попадает в разрыв, например, во время перехода на летнее время, когда происходит переход с зимнего времени на летнее, возвращается кортеж с :gap и двумя периодами с временными рамками вложенном кортеже. Первый вложенный кортеж содержит период до разрыва и время с временными рамками для окончания периода (время по местному времени). Второй вложенный кортеж содержит период сразу после разрыва и время (время по местному времени) для начала периода сразу после разрыва.

Если для предоставленного datetime существует только один возможный период, возвращается кортеж с :single и time_zone_period.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.9.4/Calendar.TimeZoneDatabase.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API