timex v3.0.3 Timex.Format.DateTime.Formatter behaviour

This module defines the behaviour for custom DateTime formatters.

Summary

Functions

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string and formatter. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string and formatter. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter

Given a token (as found in Timex.Parsers.Directive), and a Date, DateTime, or NaiveDateTime struct, produce a string representation of the token using values from the struct, using the default locale

Given a token (as found in Timex.Parsers.Directive), and a Date, DateTime, or NaiveDateTime struct, produce a string representation of the token using values from the struct

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string, locale, and formatter. If the locale provided does not have translations, “en” is used by default. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string, locale, and formatter. If the locale does not have translations, “en” will be used by default. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter

Validates the provided format string, using the provided formatter, or if none is provided, the default formatter. Returns :ok when valid, or {:error, reason} if not valid

Functions

format(date, format_string, formatter \\ Default)

Specs

format(Timex.Types.calendar_types, String.t, atom | nil) ::
  {:ok, String.t} |
  {:error, term}

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string and formatter. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter.

Formatting will use the configured default locale, “en” if no other default is given.

format!(date, format_string, formatter \\ Default)

Specs

format!(Timex.Types.calendar_types, String.t, atom | nil) ::
  String.t |
  no_return

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string and formatter. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter.

Formatting will use the configured default locale, “en” if no other default is given.

If an error is encountered during formatting, format! will raise.

format_token(token, date, modifiers, flags, width)

Specs

format_token(atom, Timex.Types.calendar_types, list, list, list) ::
  String.t |
  {:error, term}

Given a token (as found in Timex.Parsers.Directive), and a Date, DateTime, or NaiveDateTime struct, produce a string representation of the token using values from the struct, using the default locale.

format_token(locale, token, date, modifiers, flags, width)

Specs

format_token(String.t, atom, Timex.Types.calendar_types, list, list, list) ::
  String.t |
  {:error, term}

Given a token (as found in Timex.Parsers.Directive), and a Date, DateTime, or NaiveDateTime struct, produce a string representation of the token using values from the struct.

lformat(date, format_string, locale, formatter \\ Default)

Specs

lformat(Timex.Types.calendar_types, String.t, String.t, atom | nil) ::
  {:ok, String.t} |
  {:error, term}

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string, locale, and formatter. If the locale provided does not have translations, “en” is used by default. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter

lformat!(date, format_string, locale, formatter \\ Default)

Specs

lformat!(Timex.Types.calendar_types, String.t, String.t, atom | nil) ::
  String.t |
  no_return

Formats a Date, DateTime, or NaiveDateTime as a string, using the provided format string, locale, and formatter. If the locale does not have translations, “en” will be used by default. If a formatter is not provided, the formatter used is Timex.Format.DateTime.Formatters.DefaultFormatter

If an error is encountered during formatting, lformat! will raise

validate(format_string, formatter \\ Default)

Specs

validate(String.t, atom | nil) ::
  :ok |
  {:error, term}

Validates the provided format string, using the provided formatter, or if none is provided, the default formatter. Returns :ok when valid, or {:error, reason} if not valid.

Callbacks

format(date, format_string)

Specs

format(date :: Timex.Types.calendar_types, format_string :: String.t) ::
  {:ok, String.t} |
  {:error, term}
format!(date, format_string)

Specs

format!(date :: Timex.Types.calendar_types, format_string :: String.t) ::
  String.t |
  no_return
lformat(date, format_string, locale)

Specs

lformat(date :: Timex.Types.calendar_types, format_string :: String.t, locale :: String.t) ::
  {:ok, String.t} |
  {:error, term}
lformat!(date, format_string, locale)

Specs

lformat!(date :: Timex.Types.calendar_types, format_string :: String.t, locale :: String.t) ::
  String.t |
  no_return
tokenize(format_string)

Specs

tokenize(format_string :: String.t) ::
  {:ok, [Timex.Parse.DateTime.Tokenizers.Directive.t]} |
  {:error, term}