Struct icu_calendar::persian::Persian
source · 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
or DateTime
to represent dates in this calendar.
§Era codes
This calendar supports only one era code, which starts from the year of the Hijra, designated as “ah”.
§Month codes
This calendar supports 12 solar month codes ("M01" - "M12"
)
Implementations§
source§impl Persian
impl Persian
fn fixed_from_fast_persian(p_date: PersianDateInner) -> RataDie
fn fast_persian_from_fixed(date: RataDie) -> PersianDateInner
fn year_as_persian(year: i32) -> FormattableYear
Trait Implementations§
source§impl Calendar for Persian
impl Calendar for Persian
source§type DateInner = PersianDateInner
type DateInner = PersianDateInner
The internal type used to represent dates
source§fn date_from_codes(
&self,
era: Era,
year: i32,
month_code: MonthCode,
day: u8,
) -> Result<Self::DateInner, CalendarError>
fn date_from_codes( &self, era: Era, year: i32, month_code: MonthCode, day: u8, ) -> Result<Self::DateInner, CalendarError>
Construct a date from era/month codes and fields
source§fn date_from_iso(&self, iso: Date<Iso>) -> PersianDateInner
fn date_from_iso(&self, iso: Date<Iso>) -> PersianDateInner
Construct the date from an ISO date
source§fn months_in_year(&self, date: &Self::DateInner) -> u8
fn months_in_year(&self, date: &Self::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: &Self::DateInner) -> u16
fn days_in_year(&self, date: &Self::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: &Self::DateInner) -> u8
fn days_in_month(&self, date: &Self::DateInner) -> u8
Count the number of days in a given month, specified by providing a date
from that year/month
source§fn day_of_week(&self, date: &Self::DateInner) -> IsoWeekday
fn day_of_week(&self, date: &Self::DateInner) -> IsoWeekday
Calculate the day of the week and return it
source§fn year(&self, date: &Self::DateInner) -> FormattableYear
fn year(&self, date: &Self::DateInner) -> FormattableYear
The calendar-specific year represented by
date
source§fn is_in_leap_year(&self, date: &Self::DateInner) -> bool
fn is_in_leap_year(&self, date: &Self::DateInner) -> bool
Calculate if a date is in a leap year
source§fn month(&self, date: &Self::DateInner) -> FormattableMonth
fn month(&self, date: &Self::DateInner) -> FormattableMonth
The calendar-specific month represented by
date
source§fn day_of_month(&self, date: &Self::DateInner) -> DayOfMonth
fn day_of_month(&self, date: &Self::DateInner) -> DayOfMonth
The calendar-specific day-of-month represented by
date
source§fn day_of_year_info(&self, date: &Self::DateInner) -> DayOfYearInfo
fn day_of_year_info(&self, date: &Self::DateInner) -> DayOfYearInfo
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 any_calendar_kind(&self) -> Option<AnyCalendarKind>
fn any_calendar_kind(&self) -> Option<AnyCalendarKind>
The
AnyCalendarKind
corresponding to this calendar,
if one exists. Implementors outside of icu::calendar
should return None
source§impl CalendarArithmetic for Persian
impl CalendarArithmetic for Persian
source§type YearInfo = ()
type YearInfo = ()
In case we plan to cache per-year data, this stores
useful computational information for the current year
as a field on ArithmeticDate
fn month_days(year: i32, month: u8, _data: ()) -> u8
fn months_for_every_year(_: i32, _data: ()) -> u8
fn is_leap_year(p_year: i32, _data: ()) -> bool
source§fn days_in_provided_year(year: i32, _data: ()) -> u16
fn days_in_provided_year(year: i32, _data: ()) -> u16
Calculate the days in a given year
Can be overridden with simpler implementations for solar calendars
(typically, 366 in leap, 365 otherwise) Leave this as the default
for lunar calendars Read more
fn last_month_day_in_year(year: i32, _data: ()) -> (u8, u8)
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 to_any_cloned(&self) -> AnyCalendar
fn to_any_cloned(&self) -> AnyCalendar
Convert this calendar into an
AnyCalendar
, cloning it Read moresource§fn date_to_any(&self, d: &Self::DateInner) -> AnyDateInner
fn date_to_any(&self, d: &Self::DateInner) -> AnyDateInner
Convert a date for this calendar into an
AnyDateInner
Read moresource§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 StructuralPartialEq 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)