Packages
quantum
2.2.1
3.5.3
3.5.2
retired
3.5.1
retired
3.5.0
3.4.0
3.3.0
3.2.0
3.1.0
3.0.2
3.0.1
3.0.0
3.0.0-rc.3
3.0.0-rc.2
3.0.0-rc.1
2.4.0
2.3.4
2.3.3
2.3.2
2.3.1
retired
2.3.0
retired
2.2.7
2.2.6
2.2.5
retired
2.2.4
retired
2.2.3
retired
2.2.2
retired
2.2.1
retired
2.2.0
retired
2.1.3
retired
2.1.2
retired
2.1.1
retired
2.1.0
retired
2.1.0-beta.1
retired
2.0.4
retired
2.0.3
retired
2.0.2
retired
2.0.1
retired
2.0.0
retired
2.0.0-beta.2
retired
2.0.0-beta.1
retired
1.9.3
retired
1.9.2
retired
1.9.1
retired
1.9.0
retired
1.8.1
retired
1.8.0
retired
1.7.1
retired
1.7.0
retired
1.6.1
retired
1.6.0
retired
1.5.0
retired
1.4.0
retired
1.3.2
retired
1.3.1
retired
1.3.0
retired
1.2.4
retired
1.2.3
retired
1.2.2
retired
1.2.1
retired
1.2.0
retired
1.1.0
retired
1.0.4
retired
1.0.3
retired
1.0.2
retired
1.0.1
retired
1.0.0
retired
Cron-like job scheduler for Elixir.
Retired package: Release invalid - Problem with Daylight Saving Time
Current section
Files
Jump to
Current section
Files
lib/quantum/date_library/timex.ex
if Code.ensure_compiled?(Timex) do
defmodule Quantum.DateLibrary.Timex do
@moduledoc """
`timex` implementation of `Quantum.DateLibrary`.
**This behaviour is considered internal. Breaking Changes can occur on every
release.**
### Installation
`config.exs`
config :quantum,
date_library: Quantum.DateLibrary.Timex
`mix.exs`
defp deps do
[{:quantum, "*"},
{:timex, "*"}]
end
"""
@behaviour Quantum.DateLibrary
alias Timex.Timezone
@spec utc_to_tz!(NaiveDateTime.t(), String.t()) :: NaiveDateTime.t() | no_return
def utc_to_tz!(date, tz) do
date
|> DateTime.from_naive!("Etc/UTC")
|> Timezone.convert(tz)
|> DateTime.to_naive()
end
@spec tz_to_utc!(NaiveDateTime.t(), String.t()) :: NaiveDateTime.t() | no_return
def tz_to_utc!(date, tz) do
date
|> Timex.to_datetime(tz)
|> Timezone.convert("Etc/UTC")
|> DateTime.to_naive()
end
@spec dependency_application :: :timex
def dependency_application, do: :timex
end
end