Help language development. Donate to The Perl Foundation

Date::Calendar::Hijri cpan:JFORGET last updated on 2021-02-12

Date::Calendar::Hijri - Arithmetic variant of the Hijri calendar


Converting a Gregorian date (e.g. 7th February 2021) into Hijri

use Date::Calendar::Hijri;
my Date $dt-greg;
my Date::Calendar::Hijri $dt-hijri;

$dt-greg  .= new(2021, 2, 7);
$dt-hijri .= new-from-date($dt-greg);

say $dt-hijri;
# --> 1442-06-24
say $dt-hijri.strftime("%A %d %B %Y");
# --> Yaum al-Ahad 24 Jumaada al-Thaani 1442

Converting a Hijri date (e.g. 1 Muharram 1443) into Gregorian

use Date::Calendar::Hijri;
my Date::Calendar::Hijri $dt-hijri;
my Date $dt-greg;

$dt-hijri .= new(year => 1443, month => 1, day => 1);
$dt-greg   = $;

say $dt-greg;
# --> 2021-08-10


The real Hijri calendar is  an observational calendar. That means that
calendar events, such as switching from a month to the next, depend of
the observation  of some  astronomical events,  such as  observing the
moon crescent after a new moon.  But there is an unofficial arithmetic
variant, which differs from the real one by one or two days.

Date::Calendar::Hijri is a class  representing dates in the arithmetic
variant of the  Hijri calendar. It allows you to  convert a Hijri date
into Gregorian (or possibly other) calendar and the other way.


zef install Date::Calendar::Hijri


git clone
cd raku-Date-Calendar-Hijri
zef install .


Jean Forget <[email protected]>


Copyright (c) 2021 Jean Forget, all rights reserved.

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.