Date::Hijri(3) Perl extension to convert islamic (hijri) and gregorian dates.


use Date::Hijri;
# convert gregorian to hijri date
my ($hd, $hm, $hy) = g2h($gd, $gm, $gy);
# convert hijri to gregorian date
my ($gd, $gm, $gy) = h2g($hd, $hm, $hy);


This simple module converts gregorian dates to islamic (hijri) and vice versa.

The dates must be given as an array containing the day, month and year, and return the corresponding date as a list with the same elements.


  #!/usr/bin/perl -w
  use Date::Hijri;
  print join("-", g2h(22,8,2003));  # prints 23-6-1424
  print join("-", h2g(23,6,1424));  # prints 22-8-2003


Alex Pleiner, <[email protected]>


Copyright (c) 2003 zeitform Internet Dienste. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


I haven't really tested if the converted dates are right and hope someone will point out mistakes.

Hijri calculations are very difficult. The islamic calendar is a pure lunar calendar, the new month starts by a physical (i.e. human) sighting of the crescent moon at a given locale. So it depends on several factors (like weather) that make it unreliable to calculate islamic calendars in advance. As a result the dates calculated by Date::Hijri can be false by one or more days.

Please see for further explanation.

I'm not a muslim, but interested in Islamic culture, religion and calendar system. I believe in the Internet as a chance to realize that we live in a small world with multiple cultures, religions and philosophies. We can learn from others and develop tolerance, respect and understanding.

Salam Alaikum (peace be with you)