Dumballah is a tiny library that provides conversions between seconds and other time units, and some useful calculations to make easier the manipulation of Unix timestamps.
Dumballah is a voodoo Loa associated with the rain and the crops, that's why I chose his name for a library about time.
Here is the documentation.
Elixir 1.3+.
## Installation
Just add it to your mix.exs
file:
defp deps do
[{:dumballah, "~> 2.3"}]
end
From :hours
, :days
and :minutes
to seconds.
Dumballah.Convert.to_seconds(:hours, 7)
> 25200
And viceversa.
Dumballah.Convert.from_seconds(:hours, 25200)
> 7.0
Add and subtract :hours
, :days
and :minutes
in seconds.
Dumballah.now
|> Dumballah.Calculate.add_time(:days, 1)
> 1473962718
Identify passed timestamps.
Dumballah.now
|> Dumballah.Calculate.has_passed?
> true
And more, like date_from_dawn/1
and seconds_until_midnight/1
: check the docs.
Dumballah.now/0
returns your current local time in seconds. If you need the current UTC time, use DateTime.utc_now/0
, which is part of the Elixir standard library since 1.3.
Working with date times is a real pain; these links provide some insights on how the Erlang VM deals with time. You might find them useful.
Sponsored by steed.