View Source Cldr.Calendar.Persian (ex_cldr_calendars_persian v1.0.1)
The present Iranian calendar was legally adopted on 31 March 1925, under the early Pahlavi dynasty. The law said that the first day of the year should be the first day of spring in "the true solar year", "as it has been" ever so. It also fixes the number of days in each month, which previously varied by year with the sidereal zodiac.
It revived the ancient Persian names, which are still used. It specifies the origin of the calendar to be the Hegira of Muhammad from Mecca to Medina in 622 CE).
Summary
Functions
Identifies that this 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 a {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 year from the given year
, month
, and day
.
Returns how many days there are in the given month.
Returns how many days there are in the given year-month.
Returns the number days in a a week.
Returns the number days in a given year.
Returns the extended year as displayed on rendered calendars.
Calculates the ISO week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns if the given year is a leap year.
Returns a Date.Range.t
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 Calendar.iso_days/0
format to the datetime format specified by this calendar.
Returns the Calendar.iso_days/0
format of the specified date.
Returns the Gregorian date of the Persian new year for a given Gregorian year
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 Date.Range.t
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 Date.Range.t
representing
a given week of a year.
Calculates the week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Calculates the week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns a Date.Range.t
representing
a given year.
Returns the Gregorian date of the Persian last day of a given Gregorian year
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".
Types
@type day() :: 1..31
@type month() :: 1..12
@type year() :: -9999..-1 | 1..9999
Functions
Identifies that this calendar is month based.
@spec 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
.
@spec cyclic_year(year(), month(), day()) :: Calendar.year()
Returns the cyclic year as displayed on rendered calendars.
Returns a {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
@spec day_of_era(year(), month(), day()) :: {day :: pos_integer(), era :: 0..1}
Calculates the day and era from the given year
, month
, and day
.
Calculates the day of the year from the given year
, month
, and day
.
@spec days_in_month(Calendar.month()) :: Calendar.month() | {:ambiguous, Range.t() | [pos_integer()]} | {:error, :undefined}
Returns how many days there are in the given month.
Must be implemented in derived calendars because we cannot know what the calendar format is.
Returns how many days there are in the given year-month.
Returns the number days in a a week.
Returns the number days in a given year.
@spec extended_year(year(), month(), day()) :: Calendar.year()
Returns the extended year as displayed on rendered calendars.
Calculates the ISO week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns if the given year is a leap year.
Since this calendar is observational we calculate the start of successive years and then calcualate the difference in days to determine if its a leap year.
Returns a Date.Range.t
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.
@spec naive_datetime_from_iso_days(Calendar.iso_days()) :: {Calendar.year(), Calendar.month(), Calendar.day(), Calendar.hour(), Calendar.minute(), Calendar.second(), Calendar.microsecond()}
Converts the Calendar.iso_days/0
format to the datetime format specified by this calendar.
naive_datetime_to_iso_days(year, month, day, hour, minute, second, microsecond)
View Source@spec naive_datetime_to_iso_days( Calendar.year(), Calendar.month(), Calendar.day(), Calendar.hour(), Calendar.minute(), Calendar.second(), Calendar.microsecond() ) :: Calendar.iso_days()
Returns the Calendar.iso_days/0
format of the specified date.
Returns the Gregorian date of the Persian new year for a given Gregorian year
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 :quarters
or:months
.
Returns a Date.Range.t
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.
Determines if the date given is valid according to this calendar.
Returns a Date.Range.t
representing
a given week of a year.
@spec week_of_month(year(), month(), day()) :: {pos_integer(), pos_integer()} | {:error, :not_defined}
Calculates the week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Calculates the week of the year from the given year
, month
, and day
.
It is an integer from 1 to 53.
Returns a Date.Range.t
representing
a given year.
Returns the Gregorian date of the Persian last day of a given Gregorian year
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".