Date-HijriDate
view release on metacpan or search on metacpan
Date-HijriDate.cgi view on Meta::CPAN
#=Copyright Infomation
#==========================================================
#Module Name : Date::HijriDate
#Program Author : Dr. Ahmed Amin Elsheshtawy, Ph.D. Physics, E.E.
#Home Page : http://www.islamware.com, http://www.mewsoft.com
#Contact Email : support@islamware.com, support@mewsoft.com
#Copyrights © 2013 IslamWare. All rights reserved.
#==========================================================
#print "Content-type: text/html;charset=utf-8\n\n";
$|=1;
use Date::HijriDate;
my $day = 8; # day of the month
my $month = 11; # month 0..11
my $year = 2013; # yyyy format
my $caltype = 1; # (0 = Julian; 1 = Gregorian)
my $lang = "en"; # available languages: en, ar
my %ret;
# get Hijri date for specific Gregorian day
#%ret = hijri_date($day, $month, $year, $caltype, $lang);
# get current time in Hijri
#%ret = hijri_now($caltype, $lang);
# get Hijri time for the specific time stamp
%ret = hijri_time(time, $caltype, $lang);
# Western date
$ret{month}++; # returned month 0..11
print "Western date: $ret{day}-$ret{month}-$ret{year}\n";
#Arithmetical calendar type day month year (AH)
print "'Arithmetical calendar type' day month 'year (AH)' 'month name' \n";
# all returned month 0..11
#Method 1 civil, astronomical
$ret{imonth1}++; $ret{imonth2}++;
print "Ic [15, civil] $ret{iday1}-$ret{imonth1}-$ret{iyear1} $ret{iname1}\n";
print "Ia [15, astronomical] $ret{iday2}-$ret{imonth2}-$ret{iyear2} $ret{iname2}\n";
#Method 2 civil, astronomical
$ret{imonth3}++; $ret{imonth4}++;
print "IIc [16, civil] $ret{iday3}-$ret{imonth3}-$ret{iyear3} $ret{iname3}\n";
print "IIa [16, astronomical='MS HijriCalendar'] $ret{iday4}-$ret{imonth4}-$ret{iyear4} $ret{iname4}\n";
#Method 3 civil, astronomical
$ret{imonth5}++; $ret{imonth6}++;
print "IIIc [FÄtimid, civil] $ret{iday5}-$ret{imonth5}-$ret{iyear5} $ret{iname5}\n";
print "IIIa [FÄtimid, astronomical] $ret{iday6}-$ret{imonth6}-$ret{iyear6} $ret{iname6}\n";
#Method 4 civil, astronomical
$ret{imonth7}++; $ret{imonth8}++;
print "IVc [Habash al-HÄsib, civil] $ret{iday7}-$ret{imonth7}-$ret{iyear7} $ret{iname7}\n";
print "IVa [Habash al-HÄsib, astronomical] $ret{iday8}-$ret{imonth8}-$ret{iyear8} $ret{iname8}\n";
print "Julian day: $ret{julday}\n";
print "Weekday number 0..7, 0=Sunday: $ret{wkday}\n";
print "Hijri day name: $ret{itoday}\n";
print "Calender type: ". (($ret{caltype} == 1)? "Gregorian" : "Julian") . "\n";
print "\n\n";
# print all dates information for all 8 calculation methods
foreach my $k(sort keys %ret) {
print "$k = $ret{$k}\n";
}
#=========================================================#
#=========================================================#
( run in 0.773 second using v1.01-cache-2.11-cpan-f52f0507bed )