Cldr.DateTime.Interval.to_string

You're seeing just the function to_string, go back to Cldr.DateTime.Interval module for more information.
Link to this function

to_string(from, to, backend, options \\ [])

View Source

Specs

to_string(Calendar.datetime(), Calendar.datetime(), Cldr.backend(), Keyword.t()) ::
  {:ok, String.t()} | {:error, {module(), String.t()}}

Returns a localised string representing the formatted interval formed by two dates.

Arguments

  • from is any map that conforms to the Calendar.datetime type.

  • to is any map that conforms to the Calendar.datetime type. to must occur on or after from.

  • backend is any module that includes use Cldr and is therefore a Cldr backend module

  • options is a keyword list of options. The default is [].

Options

  • :format is one of :short, :medium or :long or a specific format type or a string representing of an interval format. The default is :medium.

  • locale is any valid locale name returned by Cldr.known_locale_names/0 or a Cldr.LanguageTag struct. The default is Cldr.get_locale/0

  • number_system: a number system into which the formatted date digits should be transliterated

Returns

  • {:ok, string} or

  • {:error, {exception, reason}}

Notes

  • For more information on interval format string see the Cldr.Interval.

  • The available predefined formats that can be applied are the keys of the map returned by Cldr.DateTime.Format.interval_formats("en", :gregorian) where "en" can be replaced by any configuration locale name and :gregorian is the underlying CLDR calendar type.

  • In the case where from and to are equal, a single date is formatted instead of an interval

Examples

iex> Cldr.DateTime.Interval.to_string ~U[2020-01-01 00:00:00.0Z],
...> ~U[2020-12-31 10:00:00.0Z], MyApp.Cldr
{:ok, "Jan 1, 2020, 12:00:00 AM – Dec 31, 2020, 10:00:00 AM"}