Perpetual calendar of the years 1950 - 2500, inclusive. Once the number of days in each month is known, a calendar for any year may be made.
The length of the months are as follows:
January - 31
May - 31
September - 30
February - 28/29
June - 30
October - 31
March - 31
July - 31
November - 30
April - 30
August - 31
December - 31
Leap year occurs every 4 years, unless it is the 100th year, in which case only if it is also the 400th year. As follows:
If year divides evenly by 4, it is leap year unless it divides also by 100, in which case it is not leap year unless it also divides by 400.
Or logically, IF (year MOD 4) = 0 AND NOT ((year MOD 100) = 0 XOR (year MOD 400) = 0) THEN ... it is leap year.
So that 100 and 400 must both go in, or neither.
(Of course, because I enjoy being odd sometimes, I would type it as IF(year MOD 4)=0 AND NOT((year MOD 100)=0 XOR(year MOD 400)=0)THEN. For some reason, if no space is needed, no space is exactly how much I put in. ;-) Remnesciant of my days programming GW-Basic, when I would make lines of code 255 characters long & stop only because I ran out of room! I still do that... And all those crazy quirks those HTML editor tools put in drive me crazy! Lowercase HTML, putting the return BEFORE the <BR> tag, (I make javascript literals lowercase, though, like & for &) and especially putting those stupid <META GENERATOR="..."> tags & other ones like it. I hate those! My favorite HTML editor is HTML Assistant, which is like a glorified Notepad. It has buttons to put common tags in, like <B>...</B>. Other than that, you're on your own. It even uses uppercase HTML!
In fact, if you put the number in front of the equal, sometimes you can even get rid of another space, like IF 0=A(n)THEN, instead of IF A(n)=0 THEN!
But back to the main reason for even writing this page.
Each year in one of the lists has the same calendar as every other year in its list.
To find a year, I suggest that rather than trying to look thru the entire list, you do a search of the page (Ctrl-F) for the year you wish to find. Otherwise, you might as well be trying to find a virtual needle in a cyber-haystack. There are 551 years between 1950 and 2500!
In fact, just listing all of them, without the titles I added, takes 4,408 characters (over 4K) of space!
This file is 7K with all my additions and humorous insertations. ;-)