Dumballah
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.
Requirements
Elixir 1.3+.
Installation
Just add it to your mix.exs file:
defp deps do
[{:dumballah, "~> 1.3"}]
endUsage
Conversions
From :hours, :days and :minutes to seconds.
Dumballah.Convert.to_seconds(:hours, 7)
> 25200And viceversa.
Dumballah.Convert.from_seconds(:hours, 25200)
> 7.0Calculations
Add and subtract :hours, :days and :minutes in seconds.
Dumballah.now
|> Dumballah.Calculate.add_time(:days, 1)
> 1473962718Identify passed timestamps.
Dumballah.now
|> Dumballah.Calculate.has_passed?
> true
And more, like date_from_dawn/1 and seconds_until_midnight/1: check the docs.
Notes
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.
Recommended Readings
Working with date times is a realpain; these links provide some insights on how the Erlang VM deals with time. You might find them useful.
Sponsored by steed.