pub struct Persian;Expand description
The Persian Calendar
The Persian Calendar is a solar calendar used officially by the countries of Iran and Afghanistan and many Persian-speaking regions.
It has 12 months and other similarities to the Gregorian Calendar.
This type can be used with Date to represent dates in this calendar.
§Era codes
This calendar uses a single era code ap (aliases sh, hs), with Anno Persico/Anno Persarum starting the year of the Hijra. Dates before this era use negative years.
§Month codes
This calendar supports 12 solar month codes ("M01" - "M12")
Implementations§
Trait Implementations§
Source§impl Calendar for Persian
 
impl Calendar for Persian
Source§fn from_codes(
    &self,
    era: Option<&str>,
    year: i32,
    month_code: MonthCode,
    day: u8,
) -> Result<<Persian as Calendar>::DateInner, DateError>
 
fn from_codes( &self, era: Option<&str>, year: i32, month_code: MonthCode, day: u8, ) -> Result<<Persian as Calendar>::DateInner, DateError>
Construct a date from era/month codes and fields Read more
Source§fn from_rata_die(&self, rd: RataDie) -> <Persian as Calendar>::DateInner
 
fn from_rata_die(&self, rd: RataDie) -> <Persian as Calendar>::DateInner
Construct the date from a 
RataDieSource§fn to_rata_die(&self, date: &<Persian as Calendar>::DateInner) -> RataDie
 
fn to_rata_die(&self, date: &<Persian as Calendar>::DateInner) -> RataDie
Obtain a 
RataDie from this dateSource§fn to_iso(&self, date: &<Persian as Calendar>::DateInner) -> IsoDateInner
 
fn to_iso(&self, date: &<Persian as Calendar>::DateInner) -> IsoDateInner
Obtain an ISO date from this date
Source§fn months_in_year(&self, date: &<Persian as Calendar>::DateInner) -> u8
 
fn months_in_year(&self, date: &<Persian as Calendar>::DateInner) -> u8
Count the number of months in a given year, specified by providing a date
from that year
Source§fn days_in_year(&self, date: &<Persian as Calendar>::DateInner) -> u16
 
fn days_in_year(&self, date: &<Persian as Calendar>::DateInner) -> u16
Count the number of days in a given year, specified by providing a date
from that year
Source§fn days_in_month(&self, date: &<Persian as Calendar>::DateInner) -> u8
 
fn days_in_month(&self, date: &<Persian as Calendar>::DateInner) -> u8
Count the number of days in a given month, specified by providing a date
from that year/month
Source§fn year_info(
    &self,
    date: &<Persian as Calendar>::DateInner,
) -> <Persian as Calendar>::Year
 
fn year_info( &self, date: &<Persian as Calendar>::DateInner, ) -> <Persian as Calendar>::Year
Information about the year
Source§fn extended_year(&self, date: &<Persian as Calendar>::DateInner) -> i32
 
fn extended_year(&self, date: &<Persian as Calendar>::DateInner) -> i32
The extended year value
Source§fn is_in_leap_year(&self, date: &<Persian as Calendar>::DateInner) -> bool
 
fn is_in_leap_year(&self, date: &<Persian as Calendar>::DateInner) -> bool
Calculate if a date is in a leap year
Source§fn month(&self, date: &<Persian as Calendar>::DateInner) -> MonthInfo
 
fn month(&self, date: &<Persian as Calendar>::DateInner) -> MonthInfo
The calendar-specific month represented by 
dateSource§fn day_of_month(&self, date: &<Persian as Calendar>::DateInner) -> DayOfMonth
 
fn day_of_month(&self, date: &<Persian as Calendar>::DateInner) -> DayOfMonth
The calendar-specific day-of-month represented by 
dateSource§fn day_of_year(&self, date: &<Persian as Calendar>::DateInner) -> DayOfYear
 
fn day_of_year(&self, date: &<Persian as Calendar>::DateInner) -> DayOfYear
Information of the day of the year
Source§fn debug_name(&self) -> &'static str
 
fn debug_name(&self) -> &'static str
Obtain a name for the calendar for debug printing
Source§fn calendar_algorithm(&self) -> Option<CalendarAlgorithm>
 
fn calendar_algorithm(&self) -> Option<CalendarAlgorithm>
Returns the 
CalendarAlgorithm that is required to match
when parsing into this calendar. Read moreSource§impl CldrCalendar for Persian
 
impl CldrCalendar for Persian
Source§type YearNamesV1 = DatetimeNamesYearPersianV1
 
type YearNamesV1 = DatetimeNamesYearPersianV1
The data marker for loading year symbols for this calendar.
Source§type MonthNamesV1 = DatetimeNamesMonthPersianV1
 
type MonthNamesV1 = DatetimeNamesMonthPersianV1
The data marker for loading month symbols for this calendar.
Source§type SkeletaV1 = DatetimePatternsDatePersianV1
 
type SkeletaV1 = DatetimePatternsDatePersianV1
The data marker for loading skeleton patterns for this calendar.
Source§impl From<Persian> for AnyCalendar
 
impl From<Persian> for AnyCalendar
Source§fn from(value: Persian) -> AnyCalendar
 
fn from(value: Persian) -> AnyCalendar
Converts to this type from the input type.
Source§impl IntoAnyCalendar for Persian
 
impl IntoAnyCalendar for Persian
Source§fn to_any(self) -> AnyCalendar
 
fn to_any(self) -> AnyCalendar
Convert this calendar into an 
AnyCalendar, moving it Read moreSource§fn kind(&self) -> AnyCalendarKind
 
fn kind(&self) -> AnyCalendarKind
The 
AnyCalendarKind enum variant associated with this calendarSource§fn from_any(any: AnyCalendar) -> Result<Persian, AnyCalendar>
 
fn from_any(any: AnyCalendar) -> Result<Persian, AnyCalendar>
Source§fn from_any_ref(any: &AnyCalendar) -> Option<&Persian>
 
fn from_any_ref(any: &AnyCalendar) -> Option<&Persian>
Source§impl Ord for Persian
 
impl Ord for Persian
Source§impl PartialOrd for Persian
 
impl PartialOrd for Persian
impl Copy for Persian
impl Eq for Persian
impl IntoFormattableAnyCalendar for Persian
impl StructuralPartialEq for Persian
impl UnstableSealed for Persian
impl UnstableSealed for Persian
Auto Trait Implementations§
impl Freeze for Persian
impl RefUnwindSafe for Persian
impl Send for Persian
impl Sync for Persian
impl Unpin for Persian
impl UnwindSafe for Persian
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
Mutably borrows from an owned value. Read more
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>
Converts 
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>
Converts 
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