Календарь поведение
Этот модуль определяет обязанности по работе с календарями, датами, временем и датами-временем в Elixir.
В настоящее время он определяет типы и минимальную реализацию поведения календаря в Elixir. Цель функций календаря в Elixir — предоставить базу для межплатформенной совместимости вместо полнофункционального API даты и времени.
Для фактических структур даты, времени и даты-времени см. Date, Time, NaiveDateTime и DateTime.
Обратите внимание, что обозначения года, месяца, дня и т. д. избыточны (т. е. целое число вместо 1..12 для месяцев), потому что разные календари могут иметь разное количество дней в месяце, месяцев в году и так далее.
Краткое описание
Типы
- calendar()
Реализация календаря
- day()
- hour()
- microsecond()
Микросекунды с сохранённой точностью
- minute()
- month()
- second()
От 0 до 60 для учёта високосных секунд
- std_offset()
Стандартное смещение часового пояса во секундах (не равно нулю в летнее время)
- time_zone()
Идентификатор часового пояса в соответствии с базой данных часовых поясов IANA (например, Europe/Zurich)
- utc_offset()
Смещение часового пояса по UTC в секундах
- year()
- zone_abbr()
Аббревиатура часового пояса (например, CET или CEST или BST и т. д.)
Обратные вызовы
- date(year, month, day)
Создаёт новую дату из пролептического года, месяца и дня месяца
- leap_year?(year)
Возвращает true, если указанный год является високосным
- to_string(arg0)
Преобразует заданную структуру в строку в соответствии с календарём
Типы
calendar()
calendar() :: module
Реализация календаря
day()
day() :: integer
hour()
hour() :: 0..23
microsecond()
microsecond() :: {0..999999, 0..6} Микросекунды с сохранённой точностью.
Точность представляет собой количество цифр, которое необходимо использовать при представлении микросекунд во внешнем формате. Если точность равна 0, это означает, что микросекунды должны быть пропущены.
minute()
minute() :: 0..59
month()
month() :: integer
second()
second() :: 0..60
От 0 до 60 для учёта високосных секунд
std_offset()
std_offset() :: integer
Стандартное смещение часового пояса в секундах (не равно нулю в летнее время)
time_zone()
time_zone() :: String.t
Идентификатор часового пояса в соответствии с базой данных часовых поясов IANA (например, Europe/Zurich)
utc_offset()
utc_offset() :: integer
Смещение часового пояса по UTC в секундах
year()
year() :: integer
zone_abbr()
zone_abbr() :: String.t
Аббревиатура часового пояса (например, CET или CEST или BST и т. д.)
Обратные вызовы
date(year, month, day)
date(year, month, day) :: {:ok, Date.t} | {:error, atom} Создаёт новую дату из пролептического года, месяца и дня месяца.
leap_year?(year)
leap_year?(year) :: boolean
Возвращает true, если указанный год является високосным.
Високосный год — это год, продолжительность которого больше обычной. Точное значение зависит от календаря. Календарь должен вернуть false если он не поддерживает понятие високосных лет.
to_string(arg0)
to_string(Date.t | NaiveDateTime.t | DateTime.t) :: String.t
Преобразует заданную структуру в строку в соответствии с календарём.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.3.4/Calendar.html