timex v3.0.0 Timex.Format.Duration.Formatter behaviour

This module defines the behaviour for custom Time formatters

Summary

Functions

Formats a Duration as a string, using the provided formatter. If a formatter is not provided, the formatter used is Timex.Format.Duration.Formatters.Default. As a handy shortcut, you can reference the other built-in formatter (Humanized) via the :humanized atom as shown below

Same as format/1, but takes a formatter name as an argument

Same as format/1, but takes a locale name as an argument, and translates the format string, if the locale has translations

Same as lformat/2, but takes a formatter as an argument

Functions

format(duration)

Specs

format(Timex.Duration.t) :: String.t | {:error, term}

Formats a Duration as a string, using the provided formatter. If a formatter is not provided, the formatter used is Timex.Format.Duration.Formatters.Default. As a handy shortcut, you can reference the other built-in formatter (Humanized) via the :humanized atom as shown below.

Examples

iex> d = Timex.Duration.from_erl({1435, 180354, 590264})
...> Elixir.Timex.Format.Duration.Formatter.format(d)
"P45Y6M5DT21H12M34.590264S"
format(duration, formatter)

Specs

format(Timex.Duration.t, atom) ::
  String.t |
  {:error, term}

Same as format/1, but takes a formatter name as an argument

Examples

iex> d = Timex.Duration.from_erl({1435, 180354, 590264}) …> Elixir.Timex.Format.Duration.Formatter.format(d, :humanized) “45 years, 6 months, 5 days, 21 hours, 12 minutes, 34 seconds, 590.264 milliseconds”

lformat(duration, locale)

Specs

lformat(Timex.Duration.t, String.t) ::
  String.t |
  {:error, term}

Same as format/1, but takes a locale name as an argument, and translates the format string, if the locale has translations.

lformat(duration, locale, formatter)

Specs

lformat(Timex.Duration.t, String.t, atom) ::
  String.t |
  {:error, term}

Same as lformat/2, but takes a formatter as an argument

Callbacks

format(arg0)

Specs

format(Timex.Duration.t) :: String.t | {:error, term}
lformat(arg0, locale)

Specs

lformat(Timex.Duration.t, locale :: String.t) ::
  String.t |
  {:error, term}