NAME

Religion::Islam::PrayerTimes - Calculates Muslim Prayers Times and Sunrise

SYNOPSIS

use Religion::Islam::PrayerTimes;

#create new object with default options
my $prayer = Religion::Islam::PrayerTimes->new();

#Juristic Methods:
# 1 = Standard (Imams Shafii, Hanbali, and Maliki),
#2  = Hanafi
#The difference is in the Aser time only
$prayer->JuristicMethod(1);

# Calculation Method 
#1:	Umm Al-Qura Committee
#2:	Muslim World League
#3:	Egyptian General Authority of Survey
#4:	University Of Islamic Sciences, Karachi
#5:	ISNA, Islamic Society of North America
$prayer->CalculationMethod(3);

# Q. What is daylight saving? Ans. Many countries try to adopt their work time by subtracting
# from their clocks one hour in the Fall and Winter seasons. 
$prayer->DaylightSaving(1);
#print "DaylightSaving: ". $prayer->DaylightSaving() ."\n";

# set the location to clculate prayer times for.
# for Cairo, Egypt:
# http://heavens-above.com/countries.asp
$prayer->PrayerLocation(
								Latitude => 30.050,
								Longitude => 31.250,
								Altitude => 24,
								TimeZone => 2
							);

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$mon++; 	$year += 1900;

#Adjust the Gregorian Dates by making sure that the month lengths  
#are correct if not so take the extra days to next month or year.
my ($yg0, $mg0, $dg0) = $prayer->GDateAjust($year, $mon, $mday);
# Now calculate the prayer times. Times returns in hours decimal format

#%result = $prayer->PrayerTimes($year, $mon, $mday);
%result = $prayer->PrayerTimes($yg0, $mg0, $dg0);

#print "Fajr: " . $result{Fajr} . "\n";
#print "Sunrise: " . $result{Sunrise} . "\n";
#print "Zohar: " . $result{Zohar} . "\n";
#print "Aser: " . $result{Aser} . "\n";
#print "Maghrib: " . $result{Maghrib} . "\n";
#print "Isha: " . $result{Isha} . "\n";
#print "Fajir Rabita: " . $result{FajirRabita} . "\n";	 #Fajer using exact Rabita method for places >48
#print "Isha Rabita: " . $result{IshaRabita} . "\n";	#Ash using exact Rabita method for places >48
#print "Eid Prayer Time: " . $result{Eid} . "\n";	 #Eid Prayer Time
#print "\n";

# set time mode for 12 or 24 hour for FormatTime function.
$prayer->TimeMode(1);
#print time formated
#print "TimeMode: "  . $prayer->TimeMode() ."\n";

my ($h, $m, $ap);

($h, $m, $ap) = $prayer->FormatTime($result{Fajr});
print "Fajr: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Sunrise});
print "Sunrise: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Zohar});
print "Zohar: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Aser});
print "Aser: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Maghrib});
print "Maghrib: $h:$m $ap\n";

($h, $m, $ap) = $prayer->FormatTime($result{Isha});
print "Isha: $h:$m $ap\n";

#($h, $m, $ap) = $prayer->FormatTime($result{FajirRabita});
#print "Fajir Rabita: $h:$m $ap\n";	 #Fajer using exact Rabita method for places >48

#($h, $m, $ap) = $prayer->FormatTime($result{IshaRabita});
#print "Isha Rabita: $h:$m $ap\n";	#Ash using exact Rabita method for places >48

#($h, $m, $ap) = $prayer->FormatTime($result{Eid});
#print "Eid Prayer Time: $h:$m $ap\n";	 #Eid Prayer Time

DESCRIPTION

This module calculates Muslim prayers times and sunrise for any location on the earth.

SEE ALSO

Religion::Islam::Qibla Religion::Islam::Quran

AUTHOR

Ahmed Amin Elsheshtawy, <support@islamware.com<gt> Website: http://www.islamware.com

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Ahmed Amin Elsheshtawy support@islamware.com, http://www.islamware.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

15 POD Errors

The following errors were encountered while parsing the POD:

Around line 1083:

Unknown directive: =BH2GA

Around line 1114:

Unknown directive: =HCalendarToJDA

Around line 1146:

Unknown directive: =HMonthLength

Around line 1180:

Unknown directive: =DayInYear

Around line 1217:

Unknown directive: =HYearLength

Around line 1255:

Unknown directive: =G2HA

Around line 1309:

Unknown directive: =H2GA

Around line 1352:

Unknown directive: =JDToGCalendar

Around line 1395:

Unknown directive: =GCalendarToJD

Around line 1428:

Unknown directive: =GLeapYear

Around line 1451:

Unknown directive: =GDateAjust

Around line 1522:

Unknown directive: =DayWeek

Around line 1538:

Unknown directive: =HCalendarToJD

Around line 1559:

Unknown directive: =JDToHCalendar

Around line 1585:

Unknown directive: =JDToHACalendar