Perl Monk, Perl Meditation PerlMonks

### Re^3: What about Easter?

by themage (Friar)
 on Jul 25, 2005 at 12:19 UTC ( #477772=note: print w/replies, xml ) Need Help??

in reply to Re^2: What about Easter?

There is a small error in the PHP version, that pg ported here: <updated, wrong name>.

The line
```\$H = int(\$C - (\$C / 4) - ((8*\$C+13) / 25) + 19*\$G + 15) % 30;

Should be:
```\$H = (\$C - int(\$C / 4) - int((8*\$C+13) / 25) + 19*\$G + 15) % 30;

The final sub sould look like:

```
sub easter_date {
my \$Year = shift;
my (\$G,\$C,\$H,\$I,\$J,\$L)="0"x6;
\$G = \$Year % 19;
\$C = int(\$Year / 100);
\$H = (\$C - int(\$C / 4) - int((8*\$C+13) / 25) + 19*\$G + 15) % 30;
\$I = \$H - int(\$H / 28)*(1 - int(\$H / 28)*int(29 / (\$H + 1))*(int(21
+- \$G) / 11));
\$J = (\$Year + int(\$Year/4) + \$I + 2 - \$C + int(\$C/4)) % 7;
\$L = \$I - \$J;
my \$m = 3 + int((\$L + 40) / 44);
my \$d = \$L + 28 - 31 * (int(\$m / 4));
my \$y = \$Year;
return sprintf("%04d-%02d-%02d", \$y, \$m, \$d);
}
This way, I think that it should be ok. What you think greenFox?

Replies are listed 'Best First'.
Re^4: What about Easter?
by greenFox (Vicar) on Jul 26, 2005 at 02:02 UTC

That fixed it. With your updated sub I got 0 errors for 2517 dates. Well spotted.

--
Murray Barton
Do not seek to follow in the footsteps of the wise. Seek what they sought. -Basho

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://477772]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2021-09-27 20:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found

Notices?