Cldr.DateTime.Format (Cldr Dates & Times v2.7.0) View Source
Manages the Date, Time and DateTime formats defined by CLDR.
The functions in Cldr.DateTime.Format
are
primarily concerned with encapsulating the
data from CLDR in functions that are used
during the formatting process.
Link to this section Summary
Functions
Returns a list of calendars defined for a given locale.
Returns a list of the date_time format types that are available in all locales.
Returns a map of the standard date formats for a given locale and calendar.
Returns a map of the available non-standard datetime formats for a given locale and calendar.
Returns a map of the standard datetime formats for a given locale and calendar.
Returns the GMT offset format list for a for a timezone offset for a given locale.
Returns the GMT format string for a for a timezone with an offset of zero for a given locale.
Returns the postive and negative hour format for a timezone offset for a given locale.
Returns a map of the interval formats for a given locale and calendar.
Returns a map of the standard time formats for a given locale and calendar.
Link to this section Types
Specs
formats() :: Cldr.Calendar.calendar()
Specs
Link to this section Functions
Specs
calendars_for(Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.backend()) :: {:ok, [Cldr.Calendar.calendar(), ...]} | {:error, {atom(), String.T}}
Returns a list of calendars defined for a given locale.
Arguments
locale
is any valid locale name returned byCldr.known_locale_names/0
or aCldr.LanguageTag
struct. The default isCldr.get_locale/0
Example
iex> Cldr.DateTime.Format.calendars_for "en", MyApp.Cldr
{:ok, [:buddhist, :chinese, :coptic, :dangi, :ethiopic, :ethiopic_amete_alem,
:generic, :gregorian, :hebrew, :indian, :islamic, :islamic_civil,
:islamic_rgsa, :islamic_tbla, :islamic_umalqura, :japanese, :persian, :roc]}
common_date_time_format_names(backend \\ Cldr.Date.default_backend())
View SourceReturns a list of the date_time format types that are available in all locales.
The format types returned by common_date_time_format_names
are guaranteed to be available in all known locales,
Example:
iex> Cldr.DateTime.Format.common_date_time_format_names
[:bh, :bhm, :bhms, :d, :e, :e_bhm, :e_bhms, :e_hm, :e_hms, :ed, :ehm,
:ehms, :gy, :gy_mm_md, :gy_mmm, :gy_mmm_ed, :h, :hm, :hms, :hmsv,
:hmv, :m, :m_ed, :md, :mm_md, :mmm, :mmm_ed, :mmm_md,
:mmmmw_count_other, :ms, :y, :y_m, :y_m_ed, :y_md, :y_mm_md, :y_mmm,
:y_mmm_ed, :y_mmmm, :y_qqq, :y_qqqq, :yw_count_other]
date_formats(locale \\ Cldr.get_locale(), calendar \\ Cldr.Calendar.default_cldr_calendar(), backend \\ Cldr.Date.default_backend())
View SourceSpecs
date_formats( Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.Calendar.calendar(), Cldr.backend() ) :: {:ok, standard_formats()} | {:error, {atom(), String.t()}}
Returns a map of the standard date formats for a given locale and calendar.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
calendar
is any calendar returned byCldr.DateTime.Format.calendars_for/1
The default is:gregorian
Examples:
iex> Cldr.DateTime.Format.date_formats "en", :gregorian, MyApp.Cldr
{:ok, %Cldr.Date.Styles{
full: "EEEE, MMMM d, y",
long: "MMMM d, y",
medium: "MMM d, y",
short: "M/d/yy"
}}
iex> Cldr.DateTime.Format.date_formats "en", :buddhist, MyApp.Cldr
{:ok, %Cldr.Date.Styles{
full: "EEEE, MMMM d, y G",
long: "MMMM d, y G",
medium: "MMM d, y G",
short: "M/d/y GGGGG"
}}
date_time_available_formats(locale \\ Cldr.get_locale(), calendar \\ Cldr.Calendar.default_cldr_calendar(), backend \\ Cldr.Date.default_backend())
View SourceSpecs
date_time_available_formats( Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.Calendar.calendar(), Cldr.backend() ) :: {:ok, map()} | {:error, {atom(), String.t()}}
Returns a map of the available non-standard datetime formats for a given locale and calendar.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
calendar
is any calendar returned byCldr.DateTime.Format.calendars_for/1
The default is:gregorian
Examples:
iex> Cldr.DateTime.Format.date_time_available_formats "en"
{
:ok,
%{
bh: "h B",
bhm: "h:mm B",
bhms: "h:mm:ss B",
d: "d",
e: "ccc",
e_bhm: "E h:mm B",
e_bhms: "E h:mm:ss B",
e_hm: "E HH:mm",
e_hms: "E HH:mm:ss",
ed: "d E",
ehm: "E h:mm a",
ehms: "E h:mm:ss a",
gy: "y G",
gy_mm_md: "MMM d, y G",
gy_mmm: "MMM y G",
gy_mmm_ed: "E, MMM d, y G",
h: "h a",
hm: "h:mm a",
hms: "h:mm:ss a",
hmsv: "h:mm:ss a v",
hmv: "h:mm a v",
m: "L",
m_ed: "E, M/d",
md: "M/d",
mm_md: "MMM d",
mmm: "LLL",
mmm_ed: "E, MMM d",
mmm_md: "MMMM d",
mmmmw_count_one: "'week' W 'of' MMMM",
mmmmw_count_other: "'week' W 'of' MMMM",
ms: "mm:ss",
y: "y",
y_m: "M/y",
y_m_ed: "E, M/d/y",
y_md: "M/d/y",
y_mm_md: "MMM d, y",
y_mmm: "MMM y",
y_mmm_ed: "E, MMM d, y",
y_mmmm: "MMMM y",
y_qqq: "QQQ y",
y_qqqq: "QQQQ y",
yw_count_one: "'week' w 'of' Y",
yw_count_other: "'week' w 'of' Y"
}
}
date_time_formats(locale \\ Cldr.get_locale(), calendar \\ Cldr.Calendar.default_cldr_calendar(), backend \\ Cldr.Date.default_backend())
View SourceSpecs
date_time_formats( Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.Calendar.calendar(), Cldr.backend() ) :: {:ok, map()} | {:error, {atom(), String.t()}}
Returns a map of the standard datetime formats for a given locale and calendar.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
calendar
is any calendar returned byCldr.DateTime.Format.calendars_for/1
The default is:gregorian
Examples:
iex> Cldr.DateTime.Format.date_time_formats "en"
{:ok, %Cldr.DateTime.Styles{
full: "{1} 'at' {0}",
long: "{1} 'at' {0}",
medium: "{1}, {0}",
short: "{1}, {0}"
}}
iex> Cldr.DateTime.Format.date_time_formats "en", :buddhist, MyApp.Cldr
{:ok, %Cldr.DateTime.Styles{
full: "{1} 'at' {0}",
long: "{1} 'at' {0}",
medium: "{1}, {0}",
short: "{1}, {0}"
}}
Specs
gmt_format(Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.backend()) :: {:ok, [non_neg_integer() | String.t(), ...]}
Returns the GMT offset format list for a for a timezone offset for a given locale.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
Example
iex> Cldr.DateTime.Format.gmt_format "en", MyApp.Cldr
{:ok, ["GMT", 0]}
Specs
gmt_zero_format( Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.backend() ) :: {:ok, String.t()} | {:error, {atom(), String.t()}}
Returns the GMT format string for a for a timezone with an offset of zero for a given locale.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
Example
iex> Cldr.DateTime.Format.gmt_zero_format "en", MyApp.Cldr
{:ok, "GMT"}
hour_format(locale \\ Cldr.get_locale(), backend \\ Cldr.Date.default_backend())
View SourceSpecs
hour_format(Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.backend()) :: {:ok, {String.t(), String.t()}} | {:error, {atom(), String.t()}}
Returns the postive and negative hour format for a timezone offset for a given locale.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
Example
iex> Cldr.DateTime.Format.hour_format "en", MyApp.Cldr
{:ok, {"+HH:mm", "-HH:mm"}}
interval_formats(locale \\ Cldr.get_locale(), calendar \\ Cldr.Calendar.default_cldr_calendar(), backend \\ Cldr.Date.default_backend())
View SourceSpecs
interval_formats( Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.Calendar.calendar(), Cldr.backend() ) :: {:ok, map()} | {:error, {atom(), String.t()}}
Returns a map of the interval formats for a given locale and calendar.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
calendar
is any calendar returned byCldr.DateTime.Format.calendars_for/1
The default is:gregorian
Examples:
Cldr.DateTime.Format.interval_formats "en", :gregorian, MyApp.Cldr
=> {:ok,
%{
bh: %{b: ["h B", "h B"], h: ["h", "h B"]},
bhm: %{b: ["h:mm B", "h:mm B"], h: ["h:mm", "h:mm B"], m: ["h:mm", "h:mm B"]},
d: %{d: ["d", "d"]},
gy: %{g: ["y G", "y G"], y: ["y", "y G"]},
...
time_formats(locale \\ Cldr.get_locale(), calendar \\ Cldr.Calendar.default_cldr_calendar(), backend \\ Cldr.Date.default_backend())
View SourceSpecs
time_formats( Cldr.Locale.locale_name() | Cldr.LanguageTag, Cldr.Calendar.calendar(), Cldr.backend() ) :: {:ok, standard_formats()} | {:error, {atom(), String.t()}}
Returns a map of the standard time formats for a given locale and calendar.
Arguments
locale
is any locale returned byCldr.known_locale_names/0
calendar
is any calendar returned byCldr.DateTime.Format.calendars_for/1
The default is:gregorian
Examples:
iex> Cldr.DateTime.Format.time_formats "en"
{:ok, %Cldr.Time.Styles{
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
}}
iex> Cldr.DateTime.Format.time_formats "en", :buddhist
{:ok, %Cldr.Time.Styles{
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
}}