I am publishing a formula I derived that can calculate the exact time of the summer solstice for any given year (Beijing Time when the sun is directly over the Tropic of Cancer).
The summer solstice date in June of year Y AD is: 21.9938 + 0.2422Y - \lfloor Y/4 \rfloor - \lfloor Y/400 \rfloor + \lfloor Y/100 \rfloor where \lfloor x \rfloor denotes the integer part.
Theoretically, this formula can be accurate to the minute (min), and the time is Beijing Time.
Theoretical Basis:
June 21, 2009, 13:46 is the summer solstice.
A year has 365.2422 days.
Gregorian calendar rules.
Actual Verification:
According to this formula, the summer solstice for June 21, 2008, 07:57.2 is calculated, while data obtained from relevant sources is June 21, 2008, 07:58.
Derivation Process:
The 21st at 13:46 is 21.573611 days. Based on this, since a year has 365.2422 days, the 2008 summer solstice was 21.331411 days. Then, in general, the summer solstice for year Y is 21.331411 + 0.2422(Y - 2008) days.
Every 4 years there is a leap year, which has 366 days. Therefore, one day must be subtracted every 4 years, meaning for year Y, we subtract \lfloor (Y - 2008)/4 \rfloor days.
Thus, we have the formula: 21.331411 + 0.2422(Y - 2008) - \lfloor (Y - 2008)/4 \rfloor
But that’s not all. Years ending in two zeros are leap years only if they are divisible by 400. Therefore, when Y - 2000 exceeds 400, we have overcounted.
Consequently, we must add two terms: \lfloor (Y - 2000)/100 \rfloor - \lfloor (Y - 2000)/400 \rfloor
The total formula then becomes: 21.331411 + 0.2422(Y - 2008) - \lfloor (Y - 2008)/4 \rfloor + \lfloor (Y - 2000)/100 \rfloor - \lfloor (Y - 2000)/400 \rfloor
This formula is not very convenient to use. We can simplify it into the initial formula provided at the beginning.
Improving the precision of the original data can further enhance the accuracy of the formula.
When reposting, please include the address of this article: https://kexue.fm/archives/5
For more detailed reposting matters, please refer to: Scientific Space FAQ