Current section

Files

Jump to
timex lib timezone timezone_info.ex
Raw

lib/timezone/timezone_info.ex

defmodule Timex.TimezoneInfo do
@moduledoc """
Complete definition of a time zone, including all name
variations, offsets, and daylight savings time rules if
they apply.
Notes:
- `full_name` must be unique
- `standard_name`, `standard_abbreviation`: Name and abbreviation of timezone before daylight savings time
- `dst_name`, `dst_abbreviation`: Name and abbreviation of timezone after daylight savings time
- `gmt_offset_std`: Integer, GMT offset in minutes, outside of daylight savings time
- `gmt_offset_dst`: Integer, GMT offset in minutes, during daylight savings time
- `dst_start_day`, `dst_end_day`: Can be defined as either :none or {week_of_year, day_of_week, month_of_year}
When not :none, represents the daylight savings time transition rule.
Spec:
- week_of_year: integer() | :last, Example: 1 = first week, 2 = second week, N = nth week, etc
- day_of_week: atom(), :sun, :mon, :tue, etc
- month_of_year: atom(), :jan, :feb, :mar, etc
- `dst_start_time`, `dst_end_time`: Defined as {hour, min}, represents the time of the daylight savings time transition.
Spec:
- hour = integer(), 0..23
- min = integer(), 0..59
"""
defstruct full_name: "",
standard_abbreviation: "",
standard_name: "",
dst_abbreviation: "",
dst_name: "",
gmt_offset_std: 0,
gmt_offset_dst: 0,
dst_start_day: :undef,
dst_start_time: :undef,
dst_end_day: :undef,
dst_end_time: :undef
end