Interval sigils and conversion utilities

Library for defining and converting time intervals.

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 uppercase sigil ~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

Explicit functions to_integer and to_float to convert time intervals

    iex> IntervalSigil.to_integer("3h 15m")
    11700000

    iex> IntervalSigil.to_integer("3h 15m", "h")
    3

    iex> IntervalSigil.to_float("3h 15m", "h")
    3.25

Supported Units

Additional Information

Installation

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

The docs can be found at https://hexdocs.pm/interval_sigil.