Calendar.Date.Parse

Summary

Functions

Parses ISO 8601 date strings

Parses ISO 8601 date strings

Parses ISO 8601 week date strings

Parses ISO 8601 week date strings. Like iso_week_date/1 But returns the the result untagged and raises in case of an error

Functions

iso8601(string)

Parses ISO 8601 date strings.

The function accepts both the extended and the basic format.

Examples

# Extended format
iex> iso8601("2016-01-05")
{:ok, %Calendar.Date{year: 2016, month: 1, day: 5}}
# Basic format (the basic format does not have dashes)
iex> iso8601("20160105")
{:ok, %Calendar.Date{year: 2016, month: 1, day: 5}}
iex> iso8601("2016-99-05")
{:error, :invalid_date}
iso8601!(string)

Parses ISO 8601 date strings.

Like iso8601/1, but returns the result untagged and raises in case of an error.

Examples

# Extended format
iex> iso8601!("2016-01-05")
%Calendar.Date{year: 2016, month: 1, day: 5}
iso_week_date(string)

Parses ISO 8601 week date strings.

Examples

iex> iso_week_date("2004-W53-6")
{:ok, %Calendar.Date{year: 2005, month: 1, day: 1}}
iex> iso_week_date("2008-W01-2")
{:ok, %Calendar.Date{year: 2008, month: 1, day: 1}}
iex> iso_week_date("2004-W53-6D")
{:ok, %Calendar.Date{year: 2005, month: 1, day: 1}}
iex> iso_week_date("2004-W53-9")
:error
iex> iso_week_date("2004-W54-9")
:error
iex> iso_week_date("2004-W0-9")
:error
iso_week_date!(string)

Parses ISO 8601 week date strings. Like iso_week_date/1 But returns the the result untagged and raises in case of an error.

Examples

iex> iso_week_date!("2004-W53-6")
%Calendar.Date{year: 2005, month: 1, day: 1}