No, all of the above are dead wrong*. Even in the Gregorian calendar, the dates vary.
The Astronomical definitions of the solstices and equinoxes are when the sun's path through the sky reaches its most extreme (northward or southward) and when it crosses over the equator (north- or south-going). Your physical location on the planet is irrelevant to the discussion. You would only care about latitude for the purposes of differentiating spring & summer from fall & winter.
- Ascending Equinox - Sun passes over equator, headed north
- Northern Solstice - Sun at northernmost point in sky
- Decending Equinox - Sun passes over equator, headed south
- Southern Solstice - Sun at southernmost point in sky
See Solstice and Equinox for more links and information.
If you need to know exactly when the season changes, you want to use DateTime::Event::SolarTerm:
use DateTime::Event::SolarTerm qw(WINTER_SOLSTICE);
my $dt0 = DateTime->new(...);
my $winter_solstice = DateTime::Event::SolarTerm->next_term_at(
datetime => $dt0,
longitude => WINTER_SOLSTICE
);
Note that the equinoxes are not defined as constants, but their solar longitudes are 0 and 180. Which is which is left as an exercise for the student.
* Yay! I finally get some use out of eleven years of (Astro)physics grad school!
The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. — Cyrus H. Gordon
|