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

Reply via email to