Why the years 100, 200 and 300 are not leap years?
400th year is a leap year
Example question:
After 1*365 + 1/4 days earth completes 1 round
After 2*365 + 2/4 days earth completes next round
After 3*365 + 3/4 days earth completes next round
After 4*365 + 4/4 which is 1 day earth completes next round
Hence 4th year is a leap year
Hence 8th year is a leap year
..
Hence 96th year is a leap year
Hence 97th year is not a leap year
Hence 98th year is not a leap year
Hence 99th year is not a leap year
But why 100th year is not a leap year?
1 year is equal to 365 + 97/400 days
365 + 0.2425 days
4 year is equal to 4*365 + 4*(97/400) days
4*365 + 4*0.2425 days
4*365 + 0.97 days
and not
4*365 + 1 day
which is
4*365 + 1 day - 0.03 day
Hence for each leap year
0.03 day is added extra.
Assume that I am making new calander format to have 100 leap year.
So 100 years have 25   leap years.
For 100 years(due to 25 leap years)
0.03 * 25                                       day are added extra
0.75                                               day added extra during first 100 years.
Assume that I am making new calander format to have 200 as leap year.
So from 101 to 200 years have 25   leap years.
From 101 to 200 (due to 25 leap years)
0.03 * 25 days are added extra
0.75 day added extra during next 100 years (from 101 to 200).
0.75 + 0.75                                    days added extra from 01 to 200 years
1.50                                               days added extra from 01 to 200 years
Assume that I am making new calander format to have 300 as leap year.
So from 201 to 300 years have 25   leap years.
From 201 to 300 (due to 25 leap years)
0.03 * 25 days are added extra
0.75 day added extra during next 100 years (from 201 to 300).
0.75 + 0.75 + 0.75                         days added extra from 01 to 300 years
2.25                                               days added extra from 01 to 300 years
Assume I am following same current calenter format for the year 400 to be leap year.
So from 301 to 400 years have 25   leap years.
From 301 to 400 (due to 25 leap years)
0.03 * 25 days are added extra
0.75 day added extra during next 100 years (from 301 to 400).
Hence 0.75 + 0.75 + 0.75 + 0.75 days added extra from 01 to 400 years
Hence 3                                        days added extra after 400 years
This is the reason making 100, 200, 300 as not a leap year,
for reducing that 3 days.
However this description based on assumption given above
Assume I am following...
Let us re calculate without assumption.
From 01 to 100 years
24 leap years are there ( from 01 to 96 years)
For these leap years, 0.03 days were added extra for 24 times.
So 24*0.03 were added extra.
Hence 0.72 days were added extra.
However for years 97,98,99 and 100, need to add 0.97 days.
So (0.97 - 0.72) day needs to be added during the year 100.
which is (0.25) day needs to be added during the year 100.
Like the same, 0.25 day needs to be added during the year 200
for leap years from 101 to 200.
Since old addition 0.25 was not done during 100, adding that for the year 200.
So 0.50 day needs to be added during the year 200.
Like the same, 0.25 day needs to be added during the year 300
for leap years from 201 to 300.
Since old addition 0.50 was not done during 200, adding that for the year 300.
So 0.75 day needs to be added during the year 300.
For years from 301 to 396, 24 leap years are there.
So, 24*0.03 days were added extra.
which is 0.72 days were added extra.
Hence deducting 0.72 from 0.75
deducting from 0.75 since 0.75 was not added for the year 300.
That is equal to 0.75 - 0.72
which is equal to 0.03
This 0.03 day needs to be added during the year 400.
For following years need to add 0.2425 days
97 0.2425
98 0.2425
99 0.2425
400 0.2425 and 0.03
Here adding 0.03 due to exception for the years from 01 to 396
Based on that, for the year 400, need to add the following: 0.2425 + 0.2425 + 0.2425 + 0.2425 + 0.03
This is equal to 1 day.
Hence making 400 as a leap year.
That's why we celebrated year 2000 as a leap year.
Hence next round off of leap year exception will be following year:
2400
All Gregorian calendar description here are based on the assumption => 1 year is equal to 365 days + 97/400       days
1 year is equal to 365 days + 0.2425       days
1 year is equal to 365 days + 0.2425*24 hours
1 year is equal to 365 days + 5.82           hours
1 year is equal to 365 days + 5                hours and 0.82       hours
1 year is equal to 365 days + 5                hours and 0.82*60 minutes
1 year is equal to 365 days + 5                hours and 49.2       minutes
1 year is equal to 365 days + 5                hours and 49          minutes and 0.2       minutes
1 year is equal to 365 days + 5                hours and 49          minutes and 0.2*60 seconds
1 year is equal to 365 days + 5                hours and 49          minutes and 12        seconds
1 year is equal to 365 days + 5 hours 49 minutes 12 seconds.
Also nano seconds taken by earth(if any) to complete one rotation around the sun are not taken into consideration.
Hence I feel this inclusion might be required during the year 2400.
Used the word might since written taken by earth(if any).
All existing operating systems can be advanced to include the exceptions for handling time exceptions:
1. from birth and even after death,
2. shared market date/timings
3. fixed deposit
4. mutual fund...
5. national savings certificate
6. all types of insurance
7. all types of loans
Selected Programming Languages which is referring programming languages of all operating systems(AIX/HP-UX/Linux(all Linux or UNIX oriented operating system)/SunOS/Windows)
Operating system names displayed here are sorted names.

murugesanoepnssl@CYGWIN_NT-6.1-WOW OS CYGWIN_NT REL 2.8.0 MODEL i686
murugesanoepnssl@TechnicalEnterpriseSolutions /home/murugesanoepnssl [ 0 ]
$ sample_bday.sh
Assume that I born on: Mon 01-Mar-1999 10:00:00 AM
My second birthday = 01-Mar-1999 10:00 AM + 365 days + 5 hours 49 minutes 12 seconds minus 1 day(29-Feb-2000)
Hence my second birthday on Tue 29-Feb-2000 03:49:12 PM
My third birthday = 01-Mar-1999 10:00 AM + 365+365 days + 10 hours 98 minutes 24 seconds minus 1 day(29-Feb-2000)
Hence My third birthday on Wed 28-Feb-2001 09:38:24 PM

$ echo "AIX/HP-UX/Linux(all Linux or UNIX oriented operating system)/SunOS/Windows" | /usr/bin/tr "/" "\n" | /bin/sort -u
AIX
HP-UX
Linux(all Linux or UNIX oriented operating system)
SunOS
Windows
murugesanoepnssl@TechnicalEnterpriseSolutions /home/murugesanoepnssl [ 0 ]
$
Sample birthday:
AGEBIRTHDAY TIME DURING EACH YEAR
00Mon 01-Mar-1999 10:00:00 AM
01Tue 29-Feb-2000 03:49:12 PM
02Wed 28-Feb-2001 09:38:24 PM
03Fri 01-Mar-2002 03:27:36 AM
04Sat 01-Mar-2003 09:16:48 AM
05Sun 29-Feb-2004 03:06:00 PM
06Mon 28-Feb-2005 08:55:12 PM
07Wed 01-Mar-2006 02:44:24 AM
08Thu 01-Mar-2007 08:33:36 AM
09Fri 29-Feb-2008 02:22:48 PM
10Sat 28-Feb-2009 08:12:00 PM
11Mon 01-Mar-2010 02:01:12 AM
12Tue 01-Mar-2011 07:50:24 AM
13Wed 29-Feb-2012 01:39:36 PM
14Thu 28-Feb-2013 07:28:48 PM
15Sat 01-Mar-2014 01:18:00 AM
16Sun 01-Mar-2015 07:07:12 AM
17Mon 29-Feb-2016 12:56:24 PM
18Tue 28-Feb-2017 06:45:36 PM
19Thu 01-Mar-2018 12:34:48 AM
20Fri 01-Mar-2019 06:24:00 AM
21Sat 29-Feb-2020 12:13:12 PM
22Sun 28-Feb-2021 06:02:24 PM
23Mon 28-Feb-2022 11:51:36 PM
24Wed 01-Mar-2023 05:40:48 AM
25Thu 29-Feb-2024 11:30:00 AM
Site developed and maintained by murugesan. Technical Enterprise Solutions private limited. © 2003 to All rights reserved. Privacy Policy