Thursday, March 1, 2012

Leap Year!

I never really studied the logic of Leap Year calculation. Never even encountered it during my programming assignments. Ever since I was born, any year that was divisible by 4 was a leap year. And so became my logic. Until I came across this very informative article on Wikipedia -

In the Gregorian calendar, the current standard calendar in most of the world, most years that are evenly divisible by 4 are leap years. In each leap year, the month of February has 29 days instead of 28. Adding an extra day to the calendar every four years compensates for the fact that a period of 365 days is shorter than a solar year by almost 6 hours.

Some exceptions to this rule are required since the duration of a solar year is slightly less than 365.25 days. Years that are evenly divisible by 100 are not leap years, unless they are also evenly divisible by 400, in which case they are leap years. For example, 1600 and 2000 were leap years, but 1700, 1800 and 1900 were not. Similarly, 2100, 2200, 2300, 2500, 2600, 2700, 2900 and 3000 will not be leap years, but 2400 and 2800 will be. Therefore, in a duration of two millennia, there will be 485 leap years. By this rule, the average number of days per year will be 365 + 1/4 − 1/100 + 1/400 = 365.2425, which is 365 days, 5 hours, 49 minutes, and 12 seconds. The Gregorian calendar was designed to keep the vernal equinox on or close to March 21, so that the date of Easter (celebrated on the Sunday after the 14th day of the Moon—i.e. a full moon—that falls on or after March 21) remains correct with respect to the vernal equinox. The vernal equinox year is about 365.242374 days long (and increasing).

2 comments: