note 62792 added to function.date

From: 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

« previous php.notes (#105158) next »