On Jan 29, 2008, at 03:19, Zefram wrote:
David E. Wheeler wrote:
return $date lt '03-21' ? 'winter'
: $date lt '06-21' ? 'spring'
Northern hemisphere chauvinism.
It was a very limited need, in Virginia, so good enough.
Aside from the hemisphere issue, the code is also wrong for tropical
latitudes, where the four-season system doesn't apply. If you're
trying
to answer a user's question of "what season is it?" then you need a
lot
more flexibility. Even within the four-season system, people draw the
boundaries in different places. That's inevitable when trying to
impose
sharp distinctions on a system that actually has a fuzzy continuum.
Yes, I realized some time after posting this that my implementation
was very naive, and not likely to be usable outside a very narrow
geographical area. But as I said, the immediate need was within that
area, so for purposes of a quick hack, it works fine. :-)
Sounds like you're looking for the equinox and solstice dates. I
don't
see any CPAN module providing this, on search.cpan.org. I guess
that makes it your job to write one. Ideally you'd want to work from
Astronomical Algorithms <http://www.willbell.com/math/mc1.htm>.
Google
for "equinox calculation" to find several lower-precision algorithms
in
various programming languages.
Might be an interesting thing to add.
Thanks for the feedback, folks,
David