pub trait Calendar {
    type DateInner: PartialEq<Self::DateInner> + Eq + Clone + Debug;
Show 13 methods fn date_from_codes(
        era: Era,
        year: i32,
        month_code: MonthCode,
        day: u8
    ) -> Result<Self::DateInner, CalendarError>; fn date_from_iso(&self, iso: Date<Iso>) -> Self::DateInner; fn date_to_iso(&self, date: &Self::DateInner) -> Date<Iso>; fn months_in_year(&self, date: &Self::DateInner) -> u8; fn days_in_year(&self, date: &Self::DateInner) -> u32; fn days_in_month(&self, date: &Self::DateInner) -> u8; fn debug_name(&self) -> &'static str; fn year(&self, date: &Self::DateInner) -> FormattableYear; fn month(&self, date: &Self::DateInner) -> FormattableMonth; fn day_of_month(&self, date: &Self::DateInner) -> DayOfMonth; fn day_of_year_info(&self, date: &Self::DateInner) -> DayOfYearInfo; fn day_of_week(&self, date: &Self::DateInner) -> IsoWeekday { ... } fn any_calendar_kind(&self) -> Option<AnyCalendarKind> { ... }
Expand description

A calendar implementation

Only implementors of Calendar should care about these methods, in general users of these calendars should use the methods on Date instead.

Individual Calendar implementations may have inherent utility methods allowing for direct construction, etc.

For ICU4X 1.0, implementing this trait or calling methods directly is considered unstable and prone to change, especially for offset_date() and until().

Associated Types

The internal type used to represent dates

Required methods

Construct a date from era/month codes and fields

Construct the date from an ISO date

Obtain an ISO date from this date

Count the number of months in a given year, specified by providing a date from that year

Count the number of days in a given year, specified by providing a date from that year

Count the number of days in a given month, specified by providing a date from that year/month

Obtain a name for the calendar for debug printing

The calendar-specific year represented by date

The calendar-specific month represented by date

The calendar-specific day-of-month represented by date

Information of the day of the year

Provided methods

Calculate the day of the week and return it

The AnyCalendarKind corresponding to this calendar, if one exists. Implementors outside of icu_calendar should return None