Module islamic

Source
Expand description

This module contains types and implementations for the Islamic calendars.

use icu::calendar::islamic::IslamicObservational;
use icu::calendar::{Date, DateTime, Ref};

let islamic = IslamicObservational::new_always_calculating();
let islamic = Ref(&islamic); // to avoid cloning

// `Date` type
let islamic_date =
    Date::try_new_observational_islamic_date(1348, 10, 11, islamic)
        .expect("Failed to initialize islamic Date instance.");

// `DateTime` type
let islamic_datetime = DateTime::try_new_observational_islamic_datetime(
    1348, 10, 11, 13, 1, 0, islamic,
)
.expect("Failed to initialize islamic DateTime instance.");

// `Date` checks
assert_eq!(islamic_date.year().number, 1348);
assert_eq!(islamic_date.month().ordinal, 10);
assert_eq!(islamic_date.day_of_month().0, 11);

// `DateTime` checks
assert_eq!(islamic_datetime.date.year().number, 1348);
assert_eq!(islamic_datetime.date.month().ordinal, 10);
assert_eq!(islamic_datetime.date.day_of_month().0, 11);
assert_eq!(islamic_datetime.time.hour.number(), 13);
assert_eq!(islamic_datetime.time.minute.number(), 1);
assert_eq!(islamic_datetime.time.second.number(), 0);

Structsยง

IslamicCivil
Civil / Arithmetical Islamic Calendar (Used for administrative purposes)
IslamicCivilDateInner
The inner date type used for representing Dates of IslamicCivil. See Date and IslamicCivil for more details.
IslamicDateInner
The inner date type used for representing Dates of IslamicObservational. See Date and IslamicObservational for more details.
IslamicObservational
Islamic Observational Calendar (Default)
IslamicPrecomputedData ๐Ÿ”’
Contains any loaded precomputed data. If constructed with Default, will not contain any extra data and will always compute stuff from scratch
IslamicTabular
A Tabular version of the Arithmetical Islamic Calendar
IslamicTabularDateInner
The inner date type used for representing Dates of IslamicTabular. See Date and IslamicTabular for more details.
IslamicUmmAlQura
Umm al-Qura Hijri Calendar (Used in Saudi Arabia)
IslamicUmmAlQuraDateInner
The inner date type used for representing Dates of IslamicUmmAlQura. See Date and IslamicUmmAlQura for more details.
IslamicYearInfo ๐Ÿ”’

Enumsยง

IslamicYearLength ๐Ÿ”’
Compact representation of the length of an Islamic year.

Functionsยง

compute_month_day ๐Ÿ”’
Given a year info and the first month it is possible for this date to be in, return the month and day this is in