note 62792 added to function.date
| From: | SpikeDaCruz at osu1 dot php dot net | Date: | Thu, 09 Mar 2006 19:12:16 +0000 |
| Subject: | note 62792 added to function.date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-105158@lists.php.net to get a copy of this message | ||
The following function will return the date (on the Gregorian calendar) for Orthodox Easter
(Pascha). Note that incorrect results will be returned for years less than 1601 or greater than
2399. This is because the Julian calendar (from which the Easter date is calculated) deviates from
the Gregorian by one day for each century-year that is NOT a leap-year, i.e. the century is
divisible by 4 but not by 10. (In the old Julian reckoning, EVERY 4th year was a leap-year.)
This algorithm was first proposed by the mathematician/physicist Gauss. Its complexity derives from
the fact that the calculation is based on a combination of solar and lunar calendars.
<?
function getOrthodoxEaster($date){
/*
Takes any Gregorian date and returns the Gregorian
date of Orthodox Easter for that year.
*/
$year = date("Y", $date);
$r1 = $year % 19;
$r2 = $year % 4;
$r3 = $year % 7;
$ra = 19 * $r1 + 16;
$r4 = $ra % 30;
$rb = 2 * $r2 + 4 * $r3 + 6 * $r4;
$r5 = $rb % 7;
$rc = $r4 + $r5;
//Orthodox Easter for this year will fall $rc days after April 3
return strtotime("3 April $year + $rc days");
}
?>
----
Server IP: 81.92.200.26
Probable Submitter: 81.193.168.2
----
X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER
autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/function.date.php
Edit -- http://master.php.net/note/edit/62792
Del: integrated -- http://master.php.net/note/delete/62792/integrated
Del: useless -- http://master.php.net/note/delete/62792/useless
Del: bad code -- http://master.php.net/note/delete/62792/bad+code
Del: spam -- http://master.php.net/note/delete/62792/spam
Del: non-english -- http://master.php.net/note/delete/62792/non-english
Del: in docs -- http://master.php.net/note/delete/62792/in+docs
Del: other reasons-- http://master.php.net/note/delete/62792
Reject -- http://master.php.net/note/reject/62792
Search -- http://master.php.net/manage/user-notes.php