Interval Sigils: ~i and ~I

A utility for defining and converting time intervals in Elixir.

The IntervalSigil library introduces the ~i and ~I sigils for intuitive and precise time intervals definition.

Features

Examples

Default Conversion to Milliseconds

iex> import IntervalSigil
iex> ~i"2m 15s"
135000

Conversion to Alternative Units

iex> ~i"2m 15s"s
135

Floating-Point Results with ~I

iex> ~I"6D"M
0.2 # Converts days to months (1 month = 30 days)
iex> ~I"75s"m
1.25 # Converts seconds to minutes

Supported Units

Additional Information

Installation

If available in Hex, the package can be installed by adding interval_sigil to your list of dependencies in mix.exs:

def deps do
[
{:interval_sigil, "~> 0.1.0"}
]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/interval_sigil.