Packages
timex
2.1.0
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/convert/convertable.ex
defprotocol Timex.Convertable do
@moduledoc """
This protocol is used to convert between various common datetime formats.
"""
@doc """
Converts a date/time representation to an Erlang datetime tuple + timezone tuple
## Examples:
iex> use Timex
...> datetime = Timex.datetime({{2015, 3, 5}, {12, 0, 0}}, "America/Chicago")
...> Timex.to_gregorian(datetime)
{{2015, 3, 5}, {12, 0, 0}, {6, "CST"}}
"""
def to_gregorian(date)
@doc """
Converts a date/time representation to a Julian date number
## Examples:
iex> use Timex
...> Timex.to_julian({{2016,3,9}, {11,0,0}})
2457457.4
"""
def to_julian(date)
@doc """
Converts a date/time representation to the number of seconds since the start of
year zero of the Gregorian calendar.
## Examples:
iex> use Timex
...> Timex.to_gregorian_seconds({{2015, 3, 5}, {12, 0, 0}})
63592776000
"""
def to_gregorian_seconds(date)
@doc """
Converts a date/time representation to an Erlang datetime tuple
## Examples:
iex> use Timex
...> datetime = Timex.datetime({{2015, 3, 5}, {12, 0, 0}}, "America/Chicago")
...> Timex.to_erlang_datetime(datetime)
{{2015, 3, 5}, {12, 0, 0}}
"""
def to_erlang_datetime(date)
@doc """
Converts a date/time representation to a Date struct
## Examples:
iex> use Timex
...> Timex.to_date({{2015, 3, 5}, {12, 0, 0}})
%Timex.Date{:year => 2015, :month => 3, :day => 5}
"""
def to_date(date)
@doc """
Converts a date/time representation to a DateTime struct
## Examples:
iex> use Timex
...> Timex.to_date({{2015, 3, 5}, {12, 0, 0}})
%Timex.Date{:year => 2015, :month => 3, :day => 5}
"""
def to_datetime(date)
@doc """
Converts a date/time representation to a UNIX timestamp (i.e. seconds since UNIX epoch)
Returns {:error, :not_representable} if the date/time occurs before the UNIX epoch
## Examples:
iex> use Timex
...> Timex.to_unix({{2015, 3, 5}, {12, 0, 0}})
1425556800
"""
def to_unix(date)
@doc """
Converts a date/time representation to an Erlang timestamp tuple, relative to the UNIX epoch
## Examples:
iex> use Timex
...> Timex.to_timestamp({{2015, 3, 5}, {12, 0, 0}})
{1425, 556800, 0}
"""
def to_timestamp(date)
end