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
4th year is a leap year
8th year is a leap year
..
96th year is a leap year
97th year is not a leap year
98th year is not a leap year
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
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 that 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).
0.75 + 0.75 + 0.75 + 0.75 days added extra from 01 to 400 years
3                                        days added extra after 400 years
Gregorian calendar assumption based on earth rotation around the sun:Calculation based on those 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.
During fourth year we need to add 0.2425*4 = 0.97 days at Februray month.
However we are adding 01 day instead of 0.97 days during each leap years.
For 96 years we have 96/4 = 24 leap years.
During these leap years we have added 0.03 days extra for each leap years.
Till 96 years, we have added 24*0.03 = 0.72 days extra.
97 0.2425 = 0.2425
98 0.2425 0.2425 = 0.485
99 0.2425 0.2425 0.2425 = 0.7275
100 0.2425 0.2425 0.2425 0.2425 = 0.97
During 100th year we are rejecting to add 0.97 days during 100th year.
We are subtracting the extra added days(mistaken added days) (0.72) from days we rejected to add during 100th year(0.97) days.
0.97 - 0.72 = 0.25 days
0.25 days needs to be added during 100th year.
0.25 days needs to be added during 200th year.
0.25 days needs to be added during 300th year.
0.25 days needs to be added during 400th year.
During 400th year, these 0.25*4 becomes one day.
400th year being announced as leap year.
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. We can also follow the same calender and making 100th, 200th, 300th and 400th leap year using following way.

Assume that:
I made 100th year as leap year. => 0.03 * 25 =>
During 100th leap year 0.75 days added extra.
I made 200th year as leap year. => 0.03 * 25 => During 200th year added 0.75 days added extra. During previous 100th year 0.75 days added extra. Totally 0.75 + 0.75 = 1.50 days added extra during 200th year.
I made 300th year as leap year. => 0.03 * 25 => During 300th year added 0.75 days added extra. During previous 200th year 0.75 days added extra. During previous 100th year 0.75 days added extra. Totally 0.75 + 0.75 + 0.75 = 2.25 days added extra during 300th year.
I made 400th year as leap year. => 0.03 * 25 =>
During 400th year I have added 0.75 days added extra. During previous 300th year I have added 0.75 days extra. During previous 200th year I have added 0.75 days extra. During previous 100th year I have added 0.75 days extra.




Totally 0.75 + 0.75 + 0.75 0.75 = 3.00 days has been added extra during 400th year.
During 400th I am reducing 3 days during February.
Assume that a child born on 25-Feb-400th year. Since I reduced 3 days, next day of 25-Feb-400th year used to be 01-Mar-400th year.
Then that child will scold me(after growth) how the hell are you to reduce 3 days after my birth day and indirectly increasing my age in advance ?
I USED TO HAVE LOGGING ALERT MESSAGE FOR BIRTH/ANNIVERSARY/MEDICINES/EXPIRED DATE AT EXACT TIME BASED ON OUR EARTH/UNIVERSE TIMINGS:
Assume that I born on Fri 14-Apr-2000 09:20 AM
DATE AND TIME AGE
Fri 14-Apr-2000 09:20 AM ZERO YEAR

$ /usr/bin/date --date="14-Apr-2001 09:20 AM 12 seconds +49 minutes -5 hour ago" "+%a %d-%b-%Y %I:%M:%S %p"
Sat 14-Apr-2001 03:09:12 PM
Sat 14-Apr-2001 09:20:00 AM + 5 hours 49 minutes 12 seconds.
Sat 14-Apr-2001 14:69:12 PM
Sat 14-Apr-2001 03:09:12 PM
ONE YEAR
$ /usr/bin/date --date="14-Apr-2001 03:09:12 PM 12 seconds +49 minutes -5 hour ago" "+%a %d-%b-%Y %I:%M:%S %p"
Sat 14-Apr-2001 08:58:24 PM>/FONT>
Sun 14-Apr-2002 03:09:12 PM + 5 hours 49 minutes 12 seconds.
Sun 14-Apr-2002 08:58:24 PM.
TWO YEARS

$ /usr/bin/date --date="14-Apr-2003 08:58:24 PM 12 seconds +49 minutes -5 hour ago" "+%a %d-%b-%Y %I:%M:%S %p"
Tue 15-Apr-2003 02:47:36 AM
Mon 14-Apr-2003 08:58:24 PM + 5 hours 49 minutes 12 seconds.
Mon 14-Apr-2003 13:107:36 AM
Tue 15-Apr-2003 02:47:36 AM
THREE YEARS



$ /usr/bin/date --date="15-Apr-2004 02:47:36 AM -1 day +12 seconds +49 minutes -5 hour ago" "+%a %d-%b-%Y %I:%M:%S %p"
Wed 14-Apr-2004 08:36:48 AM
$ MohandasKaramchandGandhi_Bday.sh | head -1
Sat 02-Oct-1869 08:00:00 AM
$ Mahatma_Gandhi.sh | tail -2
Sat 01-Oct-2022 10:27:36 AM
Sun 01-Oct-2023 04:16:48 PM
$ stat -c "%i" MohandasKaramchandGandhi_Bday.sh Mahatma_Gandhi.sh
4503599627520986
4503599627520986
$ NelsonMandela_Bday.sh | head -1
Thu 18-Jul-1918 08:00:00 AM
$ NelsonMandela_Bday.sh | tail -2
Sun 17-Jul-2022 01:16:48 PM
Mon 17-Jul-2023 07:06:00 PM
$ echo -e "Mohandas Karamchand Gandhi(INDIA ASIA)\nNelson Mandela(SOUTH AFRICA)" | sort -u
Mohandas Karamchand Gandhi(INDIA ASIA)
Nelson Mandela(SOUTH AFRICA)
$#Hence I wrote Mohandas Karamchand Gandhi followed by Nelson Mandela.
WE HAVE ADDED (ONE DAY)24 HOURS ON Sun 29-Feb-2004
Thu 15-Apr-2004 02:47:36 AM +5 hours +49 minutes +12 seconds -24 hours.
Wed 14-Apr-2004 02:47:36 AM +5 hours +49 minutes +12 seconds.
Wed 14-Apr-2004 07:47:36 AM +49 minutes +12 seconds.
Wed 14-Apr-2004 07:96:36 AM +12 seconds.
Wed 14-Apr-2004 08:36:36 AM +12 seconds.
Wed 14-Apr-2004 08:36:48 AM
$ ./SampleBday.sh | head -2;./mybday.sh | tail -2
Fri 14-Apr-2000 09:20:00 AM
Sat 14-Apr-2001 03:09:12 PM
...
Thu 14-Apr-2022 05:22:24 PM
Fri 14-Apr-2023 11:11:36 PM
FOUR YEARS
Also nano seconds taken by earth(if any) to complete one rotation around the sun are not taken into consideration.
I feel that this exception needs to be handled during the year 3000.
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.

[email protected] OS CYGWIN_NT REL 3.4.6 MODEL x86_64
[email protected] /home/murugesan_openssl [ 0 ]
$ echo "CYGWIN_NT/MINGW/AIX/HP-UX/Linux/UNIX/SunOS/Windows" | /usr/bin/tr "/" "\n" | /usr/bin/sort -u
AIX
CYGWIN_NT
HP-UX
Linux
MINGW
SunOS
UNIX
Windows
[email protected] /home/murugesan_openssl [ 0 ]
$
Site developed and maintained by murugesan. Technical Enterprise Solutions private limited. © 2003 to 2056. All rights reserved. Privacy Policy