Cldr.Calendar.Preference (Cldr Calendars v1.14.0) View Source

Link to this section Summary

Link to this section Functions

Link to this function

calendar_for_locale(locale)

View Source
This function is deprecated. Use calendar_from_locale/1.

See Cldr.Calendar.Preference.calendar_from_locale/1.

Link to this function

calendar_for_territory(territory)

View Source
This function is deprecated. Use calendar_from_territory/1.

See Cldr.Calendar.Preference.calendar_from_territory/1.

Link to this function

calendar_from_locale(locale \\ Cldr.get_locale())

View Source

Return the calendar module for a locale.

Arguments

  • :locale is any locale or locale name validated by Cldr.validate_locale/2. The default is Cldr.get_locale() which returns the locale set for the current process

Returns

  • {:ok, calendar_module} or

  • {:error, {exception, reason}}

Examples

iex> Cldr.Calendar.Preference.calendar_from_locale "en-GB"
{:ok, Cldr.Calendar.GB}

iex> Cldr.Calendar.Preference.calendar_from_locale "en-GB-u-ca-gregory"
{:ok, Cldr.Calendar.GB}

iex> Cldr.Calendar.Preference.calendar_from_locale "en"
{:ok, Cldr.Calendar.US}

iex> Cldr.Calendar.Preference.calendar_from_locale "fa-IR"
{:ok, Cldr.Calendar.Persian}

iex> Cldr.Calendar.Preference.calendar_from_locale "fa-IR-u-ca-gregory"
{:ok, Cldr.Calendar.IR}
Link to this function

calendar_from_locale(locale, backend)

View Source
Link to this function

calendar_from_name(name)

View Source
Link to this function

calendar_from_territory(territory)

View Source

Returns the calendar module preferred for a territory.

Arguments

  • territory is any valid ISO3166-2 code as an String.t or upcased atom()

Returns

  • {:ok, calendar_module} or

  • {:error, {exception, reason}}

Examples

iex> Cldr.Calendar.Preference.calendar_from_territory :US
{:ok, Cldr.Calendar.US}

iex> Cldr.Calendar.Preference.calendar_from_territory :XX
{:error, {Cldr.UnknownTerritoryError, "The territory :XX is unknown"}}

Notes

The overwhelming majority of territories have :gregorian as their first preferred calendar and therefore Cldr.Calendar.Gregorian will be returned for most territories.

Returning any other calendar module would require:

  1. That another calendar is preferred over :gregorian for a territory

  2. That a calendar module is available to support that calendar.

As an example, Iran (territory :IR) prefers the :persian calendar. If the optional library ex_cldr_calendars_persian is installed, the calendar module Cldr.Calendar.Persian will be returned. If it is not installed, Cldr.Calendar.Gregorian will be returned as :gregorian is the second preference for :IR.

Link to this function

calendar_from_territory(territory, calendar)

View Source
Link to this function

calendar_module(calendar)

View Source