Cldr.Calendar.Gregorian (Cldr Calendars v1.17.1) View Source
Implements the proleptic Gregorian calendar.
Intended to be plug-compatible with Calendar.ISO
with additional functions to support localisation,
date ranges for year
, quarter
, month
and week
.
When calling Cldr.Calendar.localize/3
on a
Calendar.ISO
-based date, those dates are first
moved to this calendar acting as a localisation
proxy.
Link to this section Summary
Functions
Adds :year
, :quarter
, :month
, :week
increments
Identifies that the calendar is month based.
Returns the calendar year as displayed on rendered calendars.
Defines the CLDR calendar type for this calendar.
Returns the cyclic year as displayed on rendered calendars.
Returns {year, month, day}
calculated from
the number of iso_days
.
Returns the number of days since the calendar
epoch for a given year-month-day
Calculates the day and era from the given year
, month
, and day
.
Calculates the day of the week from the given year
, month
, and day
.
It is an integer from 1 to 7, where 1 is Monday and 7 is Sunday.
Calculates the day of the year from the given year
, month
, and day
.
Returns how many days there are in the given year-month.
Returns the number days in a week.
Returns the number days in a given year.
Returns the extended year as displayed on rendered calendars.
Returns the number of iso_days
that is
the first day of the given
year for this calendar.
Calculates the ISO week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns the number of iso_days
that is
the last day of the given
year for this calendar.
Returns if the given year is a leap year.
Returns a t:Date.Range
representing
a given month of a year.
Calculates the month of the year from the given year
, month
, and day
.
It is an integer from 1 to 12.
Converts the t:Calendar.iso_days
format to the datetime format specified by this calendar.
Returns the t:Calendar.iso_days
format of the specified date.
Calculates the number of period in a given year
. A period
corresponds to a month in month-based calendars and
a week in week-based calendars.
Adds an increment
number of date_part
s
to a year-month-day
.
Returns a t:Date.Range
representing
a given quarter of a year.
Calculates the quarter of the year from the given year
, month
, and day
.
It is an integer from 1 to 4.
Returns the related gregorain year as displayed on rendered calendars.
Determines if the date given is valid according to this calendar.
Returns a t:Date.Range
representing
a given week of a year.
Calculates the week of the month from the given year
, month
, and day
.
It is an integer from 1 to 5.
Calculates the week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns the number weeks in a given year.
Returns a t:Date.Range
representing
a given year.
Calculates the year and era from the given year
.
Calculates the year and era from the given year
,
month
and day
.
Link to this section Types
Specs
day() :: 1..31
Specs
month() :: 1..12
Specs
year() :: -9999..9999
Link to this section Functions
add(year, month, day, hour, minute, second, microsecond, atom, step)
View SourceAdds :year
, :quarter
, :month
, :week
increments
These functions support CalendarInterval
Identifies that the calendar is month based.
Specs
calendar_year(year(), month(), day()) :: Calendar.year()
Returns the calendar year as displayed on rendered calendars.
Defines the CLDR calendar type for this calendar.
This type is used in support of Cldr.Calendar.localize/3
.
Currently only :gregorian
is supported.
Specs
cyclic_year(year(), month(), day()) :: Calendar.year()
Returns the cyclic year as displayed on rendered calendars.
Returns {year, month, day}
calculated from
the number of iso_days
.
Returns the number of days since the calendar
epoch for a given year-month-day
Specs
day_of_era(year(), month(), day()) :: {day :: non_neg_integer(), era :: non_neg_integer()}
Calculates the day and era from the given year
, month
, and day
.
Specs
day_of_week(year(), month(), day(), :default | atom()) :: {Calendar.day_of_week(), first_day_of_week :: non_neg_integer(), last_day_of_week :: non_neg_integer()}
Calculates the day of the week from the given year
, month
, and day
.
It is an integer from 1 to 7, where 1 is Monday and 7 is Sunday.
Specs
Calculates the day of the year from the given year
, month
, and day
.
Specs
days_in_month(year(), month()) :: Calendar.day()
Returns how many days there are in the given year-month.
Returns the number days in a week.
Specs
days_in_year(year()) :: Calendar.day()
Returns the number days in a given year.
Specs
extended_year(year(), month(), day()) :: Calendar.year()
Returns the extended year as displayed on rendered calendars.
Returns the number of iso_days
that is
the first day of the given
year for this calendar.
Specs
iso_week_of_year(year(), month(), day()) :: {year(), Cldr.Calendar.week()}
Calculates the ISO week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns the number of iso_days
that is
the last day of the given
year for this calendar.
Specs
Returns if the given year is a leap year.
Returns a t:Date.Range
representing
a given month of a year.
Specs
Calculates the month of the year from the given year
, month
, and day
.
It is an integer from 1 to 12.
Specs
naive_datetime_from_iso_days(Calendar.iso_days()) :: {Calendar.year(), Calendar.month(), Calendar.day(), Calendar.hour(), Calendar.minute(), Calendar.second(), Calendar.microsecond()}
Converts the t:Calendar.iso_days
format to the datetime format specified by this calendar.
naive_datetime_to_iso_days(year, month, day, hour, minute, second, microsecond)
View SourceSpecs
naive_datetime_to_iso_days( Calendar.year(), Calendar.month(), Calendar.day(), Calendar.hour(), Calendar.minute(), Calendar.second(), Calendar.microsecond() ) :: Calendar.iso_days()
Returns the t:Calendar.iso_days
format of the specified date.
Calculates the number of period in a given year
. A period
corresponds to a month in month-based calendars and
a week in week-based calendars.
Adds an increment
number of date_part
s
to a year-month-day
.
date_part
can be :years
, :quarters
or :months
.
Returns a t:Date.Range
representing
a given quarter of a year.
Specs
Calculates the quarter of the year from the given year
, month
, and day
.
It is an integer from 1 to 4.
Determines if the date given is valid according to this calendar.
Returns a t:Date.Range
representing
a given week of a year.
Specs
week_of_month(year(), Cldr.Calendar.week(), day()) :: {month(), Cldr.Calendar.week()}
Calculates the week of the month from the given year
, month
, and day
.
It is an integer from 1 to 5.
Specs
week_of_year(year(), month(), day()) :: {year(), Cldr.Calendar.week()}
Calculates the week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Specs
weeks_in_year(year()) :: Calendar.week()
Returns the number weeks in a given year.
Returns a t:Date.Range
representing
a given year.
Specs
year_of_era(year()) :: {year(), era :: non_neg_integer()}
Calculates the year and era from the given year
.
The ISO calendar has two eras: the current era which starts in year 1 and is defined as era "1". And a second era for those years less than 1 defined as era "0".
Specs
year_of_era(year(), month(), day()) :: {year(), era :: non_neg_integer()}
Calculates the year and era from the given year
,
month
and day
.
The ISO calendar has two eras: the current era which starts in year 1 and is defined as era "1". And a second era for those years less than 1 defined as era "0".