Crate hijri_date[][src]

HijriDate-rs 0.1.4

Convert between hijri and gregorian date.

The algorithm used to convert between dates is limited to:

minimum handled hijri year = 1356
maximum handled hijri year = 1500

minimum handled gregorian year = 1938
maximum handled gregorian year = 2076

Usage

convert to gregorian

extern crate hijri_date;
use hijri_date::HijriDate;

let hd = HijriDate::from_hijri(1439,11,19);
assert_eq!((2018,8,1),(hd.year_gr,hd.month_gr,hd.day_gr));

convert to hijri

extern crate hijri_date;
use hijri_date::HijriDate;

let hd = HijriDate::from_gr(2000,07,31);
assert_eq!((1421,4,29),(hd.year,hd.month,hd.day));

hijri day and month name

extern crate hijri_date;
use hijri_date::HijriDate;

let hd = HijriDate::from_hijri(1439,11,18);
println!("{}",hd.format("%Y %M %D"));

compare dates

extern crate hijri_date;
use hijri_date::HijriDate;

let hd_1 = HijriDate::from_hijri(1500, 12, 30);
let hd_2 = HijriDate::from_hijri(1356, 1, 1);
assert!(hd_1 > hd_2);

substract duration from a day

extern crate hijri_date;
use hijri_date::{Duration,HijriDate};

let hd_1 = HijriDate::from_hijri(1420, 06, 15);
let hd_2 = HijriDate::from_hijri(1420, 05, 29);
assert_eq!(hd_1 - Duration::days(16), hd_2);

substract a day from an other to get a duration

extern crate hijri_date;    
use hijri_date::{Duration,HijriDate};

let hd_1 = HijriDate::from_hijri(1356, 06, 15);
let hd_2 = HijriDate::from_hijri(1356, 06, 7);
assert_eq!(hd_1-hd_2,Duration::days(8));

Structs

Duration

ISO 8601 time duration with nanosecond precision. This also allows for the negative duration; see individual methods for details.

HijriDate

Main structure.