pub struct Coptic;Expand description
The Coptic Calendar
The Coptic calendar, also called the Alexandrian Calendar, is a solar calendar that
is influenced by both the ancient Egpytian calendar and the Julian
calendar. It was introduced in Egypt under Roman rule in the first century BCE, and
replaced for civil use in 1875, however continues to be used liturgically.
This implementation extends proleptically for dates before the calendar’s creation.
This corresponds to the "coptic" CLDR calendar.
§Era codes
This calendar uses a single code: am, corresponding to the After Diocletian/Anno Martyrum
era. 1 A.M. is equivalent to 284 C.E.
§Months and days
The 13 months are called Thout (M01, 30 days), Paopi (M02, 30 days), Hathor (M03, 30 days),
Koiak (M04, 30 days), Tobi (M05, 30 days), Meshir (M06, 30 days), Paremhat (M07, 30 days),
Parmouti (M08, 30 days), Pashons (M09, 30 days), Paoni (M10, 30 days), Epip (M11, 30 days),
Mesori (M12, 30 days), Pi Kogi Enavot (M13, 5 days).
In leap years (years divisible by 4), Pi Kogi Enavot gains a 6th day.
Standard years thus have 365 days, and leap years 366.
§Calendar drift
The Coptic calendar has the same year lengths and leap year rules as the Julian calendar, so it experiences the same drift of 1 day in ~128 years with respect to the seasons.
Trait Implementations§
Source§impl Calendar for Coptic
impl Calendar for Coptic
Source§type DifferenceError = Infallible
type DifferenceError = Infallible
untilSource§fn from_codes(
&self,
era: Option<&str>,
year: i32,
month_code: MonthCode,
day: u8,
) -> Result<<Coptic as Calendar>::DateInner, DateError>
fn from_codes( &self, era: Option<&str>, year: i32, month_code: MonthCode, day: u8, ) -> Result<<Coptic as Calendar>::DateInner, DateError>
Source§fn from_rata_die(&self, rd: RataDie) -> <Coptic as Calendar>::DateInner
fn from_rata_die(&self, rd: RataDie) -> <Coptic as Calendar>::DateInner
RataDieSource§fn to_rata_die(&self, date: &<Coptic as Calendar>::DateInner) -> RataDie
fn to_rata_die(&self, date: &<Coptic as Calendar>::DateInner) -> RataDie
RataDie from this dateSource§fn has_cheap_iso_conversion(&self) -> bool
fn has_cheap_iso_conversion(&self) -> bool
from_iso/to_iso is more efficient
than from_rata_die/to_rata_die.Source§fn months_in_year(&self, date: &<Coptic as Calendar>::DateInner) -> u8
fn months_in_year(&self, date: &<Coptic as Calendar>::DateInner) -> u8
Source§fn days_in_year(&self, date: &<Coptic as Calendar>::DateInner) -> u16
fn days_in_year(&self, date: &<Coptic as Calendar>::DateInner) -> u16
Source§fn days_in_month(&self, date: &<Coptic as Calendar>::DateInner) -> u8
fn days_in_month(&self, date: &<Coptic as Calendar>::DateInner) -> u8
Source§fn year_info(
&self,
date: &<Coptic as Calendar>::DateInner,
) -> <Coptic as Calendar>::Year
fn year_info( &self, date: &<Coptic as Calendar>::DateInner, ) -> <Coptic as Calendar>::Year
Source§fn is_in_leap_year(&self, date: &<Coptic as Calendar>::DateInner) -> bool
fn is_in_leap_year(&self, date: &<Coptic as Calendar>::DateInner) -> bool
Source§fn month(&self, date: &<Coptic as Calendar>::DateInner) -> MonthInfo
fn month(&self, date: &<Coptic as Calendar>::DateInner) -> MonthInfo
dateSource§fn day_of_month(&self, date: &<Coptic as Calendar>::DateInner) -> DayOfMonth
fn day_of_month(&self, date: &<Coptic as Calendar>::DateInner) -> DayOfMonth
dateSource§fn day_of_year(&self, date: &<Coptic as Calendar>::DateInner) -> DayOfYear
fn day_of_year(&self, date: &<Coptic as Calendar>::DateInner) -> DayOfYear
Source§fn debug_name(&self) -> &'static str
fn debug_name(&self) -> &'static str
Source§fn calendar_algorithm(&self) -> Option<CalendarAlgorithm>
fn calendar_algorithm(&self) -> Option<CalendarAlgorithm>
CalendarAlgorithm that is required to match
when parsing into this calendar. Read moreSource§fn from_iso(&self, iso: IsoDateInner) -> Self::DateInner
fn from_iso(&self, iso: IsoDateInner) -> Self::DateInner
Source§fn to_iso(&self, date: &Self::DateInner) -> IsoDateInner
fn to_iso(&self, date: &Self::DateInner) -> IsoDateInner
Source§fn extended_year(&self, date: &Self::DateInner) -> i32
fn extended_year(&self, date: &Self::DateInner) -> i32
Source§impl CldrCalendar for Coptic
impl CldrCalendar for Coptic
Source§type YearNamesV1 = DatetimeNamesYearCopticV1
type YearNamesV1 = DatetimeNamesYearCopticV1
Source§type MonthNamesV1 = DatetimeNamesMonthCopticV1
type MonthNamesV1 = DatetimeNamesMonthCopticV1
Source§type SkeletaV1 = DatetimePatternsDateCopticV1
type SkeletaV1 = DatetimePatternsDateCopticV1
Source§impl From<Coptic> for AnyCalendar
impl From<Coptic> for AnyCalendar
Source§fn from(value: Coptic) -> AnyCalendar
fn from(value: Coptic) -> AnyCalendar
Source§impl IntoAnyCalendar for Coptic
impl IntoAnyCalendar for Coptic
Source§fn to_any(self) -> AnyCalendar
fn to_any(self) -> AnyCalendar
AnyCalendar, moving it Read moreSource§fn kind(&self) -> AnyCalendarKind
fn kind(&self) -> AnyCalendarKind
AnyCalendarKind enum variant associated with this calendarSource§fn from_any(any: AnyCalendar) -> Result<Coptic, AnyCalendar>
fn from_any(any: AnyCalendar) -> Result<Coptic, AnyCalendar>
Source§fn from_any_ref(any: &AnyCalendar) -> Option<&Coptic>
fn from_any_ref(any: &AnyCalendar) -> Option<&Coptic>
Source§impl Ord for Coptic
impl Ord for Coptic
Source§impl PartialOrd for Coptic
impl PartialOrd for Coptic
impl Copy for Coptic
impl Eq for Coptic
impl IntoFormattableAnyCalendar for Coptic
impl StructuralPartialEq for Coptic
impl UnstableSealed for Coptic
Auto Trait Implementations§
impl Freeze for Coptic
impl RefUnwindSafe for Coptic
impl Send for Coptic
impl Sync for Coptic
impl Unpin for Coptic
impl UnwindSafe for Coptic
Blanket Implementations§
Source§impl<C> AsCalendar for Cwhere
C: Calendar,
impl<C> AsCalendar for Cwhere
C: Calendar,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetField<T> for Twhere
T: Copy + UnstableSealed,
impl<T> GetField<T> for Twhere
T: Copy + UnstableSealed,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more