Cldr.Calendar.Coptic (ex_cldr_calendars_coptic v1.0.2)

View Source

Implementation of the Coptic calendar.

Summary

Functions

Identifies that this calendar is month based.

Defines the CLDR calendar type for this calendar.

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.

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.

Returns the number of months in a given year.

Converts the Calendar.iso_days/0 format to the datetime format specified by this calendar.

Returns the number of periods 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_parts 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.

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.

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

day()

@type day() :: 1..31

month()

@type month() :: 1..12

year()

@type year() :: -9999..-1 | 1..9999

Functions

calendar_base()

Identifies that this calendar is month based.

cldr_calendar_type()

Defines the CLDR calendar type for this calendar.

This type is used in support of Cldr.Calendar. localize/3.

date_from_iso_days(iso_days)

Returns a {year, month, day} calculated from the number of iso_days.

date_to_iso_days(year, month, day)

Returns the number of days since the calendar epoch for a given year-month-day

day_of_era(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.

day_of_year(year, month, day)

@spec day_of_year(year(), month(), day()) :: 1..366

Calculates the day of the year from the given year, month, and day.

days_in_month(month)

@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.

days_in_month(year, month)

@spec days_in_month(year(), month()) :: 29..31

Returns how many days there are in the given year-month.

days_in_week()

Returns the number days in a a week.

days_in_year(year)

Returns the number days in a given year.

epoch()

iso_week_of_year(year, month, day)

@spec iso_week_of_year(year(), month(), day()) :: {:error, :not_defined}

Calculates the ISO week of the year from the given year, month, and day. It is an integer from 1 to 53.

leap_year?(year)

@spec leap_year?(year()) :: boolean()

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.

month(year, month)

Returns a Date.Range.t representing a given month of a year.

month_of_year(year, month, day)

@spec month_of_year(year(), month(), day()) :: month()

Calculates the month of the year from the given year, month, and day. It is an integer from 1 to 12.

months_in_year(year)

Returns the number of months in a given year.

naive_datetime_from_iso_days(arg)

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)

Returns the Calendar.iso_days/0 format of the specified date.

periods_in_year(year)

Returns the number of periods in a given year. A period corresponds to a month in month-based calendars and a week in week-based calendars..

plus(year, month, day, date_part, increment, options \\ [])

Adds an increment number of date_parts to a year-month-day.

date_part can be :months only.

quarter(year, quarter)

Returns a Date.Range.t representing a given quarter of a year.

quarter_of_year(year, month, day)

@spec quarter_of_year(year(), month(), day()) :: 1..4

Calculates the quarter of the year from the given year, month, and day. It is an integer from 1 to 4.

valid_date?(year, month, day)

Determines if the date given is valid according to this calendar.

week(year, week)

Returns a Date.Range.t representing a given week of a year.

week_of_month(year, month, day)

@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.

week_of_year(year, month, day)

@spec week_of_year(year(), month(), day()) :: {:error, :not_defined}

Calculates the week of the year from the given year, month, and day. It is an integer from 1 to 53.

year(year)

Returns a Date.Range.t representing a given year.

year_of_era(year)

@spec year_of_era(year()) :: {year(), era :: 0..1}

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".