Packages
timex
2.2.1
3.7.13
3.7.12
3.7.11
3.7.9
3.7.8
3.7.7
3.7.6
3.7.5
3.7.3
3.7.2
3.7.1
3.7.0
3.6.4
3.6.3
3.6.2
retired
3.6.1
3.6.0
3.5.0
3.4.2
3.4.1
3.3.0
3.2.2
3.2.1
3.2.0
3.1.25
retired
3.1.24
3.1.23
3.1.22
3.1.21
3.1.20
3.1.19
3.1.18
3.1.17
3.1.16
3.1.15
3.1.13
3.1.12
3.1.11
3.1.10
3.1.9
3.1.8
3.1.7
3.1.6
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.2.1
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.0
1.0.2
1.0.1
1.0.0
1.0.0-rc4
1.0.0-rc3
1.0.0-rc2
1.0.0-rc1
1.0.0-pre
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.2
0.18.1
0.18.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
0.8.0
0.7.1
0.6.0
0.5.0
0.4.8
0.4.7
0.4.6
Timex is a rich, comprehensive Date/Time library for Elixir projects, with full timezone support via the :tzdata package. If you need to manipulate dates, times, datetimes, timestamps, etc., then Timex is for you!
Current section
Files
Jump to
Current section
Files
lib/timezone/database.ex
defmodule Timex.Timezone.Database do
@moduledoc """
This module is not really intended for use outside of Timex, but it
provides a way to map Olson timezone names to Windows timezone names,
and vice versa.
"""
{olson_mappings, _} = Path.join("priv", "standard_to_olson.exs") |> Code.eval_file
{windows_mappings, _} = Path.join("priv", "olson_to_win.exs") |> Code.eval_file
@doc """
Lookup the Olson time zone given its standard name
## Example
iex> Timex.Timezone.Database.to_olson("Azores Standard Time")
"Atlantic/Azores"
"""
Enum.each(olson_mappings, fn {key, value} ->
quoted = quote do
def to_olson(unquote(key)), do: unquote(value)
end
Module.eval_quoted __MODULE__, quoted, [], __ENV__
end)
def to_olson(_tz), do: nil
@doc """
Lookup the Windows time zone name given an Olson time zone name.
## Example
iex> Timex.Timezone.Database.olson_to_win("Pacific/Noumea")
"Central Pacific Standard Time"
"""
Enum.each(windows_mappings, fn {key, value} ->
quoted = quote do
def olson_to_win(unquote(key)), do: unquote(value)
end
Module.eval_quoted __MODULE__, quoted, [], __ENV__
end)
def olson_to_win(_tz), do: nil
end