User:The Monster/Perpetual Calendar

A perpetual calendar from Sweden to compute the Easter 1140-1671 according to the Julian calendar. Note the runic writing.
A 50 year "pocket calendar" that is adjusted by turning the dial to place the name of the month under the current year. You can then deduce the day of the week, or the date.

A perpetual calendar (or forever calendar) is a calendar which is good for a span of many years, such as the Runic calendar.

General information edit

For the Gregorian calendar, a perpetual calendar often consists of 14 one-year calendars, plus a legend to show which one-year calendar is to be used for any given year. Note that such a perpetual calendar fails to indicate the dates of moveable feasts such as Easter.

The 14 one-year calendars consists of two sets of seven calendars, seven for each common year (year that does not have a February 29) that starts on each day of the week, and seven for each leap year that starts on each day of the week, totaling fourteen.

Also certain calendar reforms may be considered to be inherently perpetual calendars, such as The World Calendar, International Fixed Calendar and Pax Calendar. These calendars have each year and each month within the year, always beginning on the same day of the week.

The term perpetual calendar is also used in watchmaking to describe a calendar mechanism in a watch that displays the date correctly 'perpetually', taking into account the different lengths of the months as well as leap year's day. The internal mechanism will move the dial to the next day.

Perpetual calendar formula edit

Following is a formula for calculating the day of the week given the date.

The formula uses the fact that each year begins one day later than the previous except for leap years. The days in a leap year are 2 days later except for January and February where it is one day later. Since the year values increase by one we can create a sequence by adding the year to the year divided by 4 dropping the fraction. This sequence increases by 1 every year except every 4 years where it increases by 2. This sequence will work for the years 1901 through 2099 only since 1900 and 2100 are not leap years.

A table is needed to get the relative day of week of the first of each month relative to the first day of a year.

Month 1 2 3 4 5 6 7 8 9 10 11 12
Relative day 0 3 3 6 1 4 6 2 5 0 3 5

Now for the formula (example for 2006-02-15).

Add the following: The 4 digit year (2006). The integer portion of the year divided by 4 (501). The relative month code (3). The day of the month (15). If it is a leap year and January or February then subtract 1. Adjust the relative week day by subtracting 1 (2525-1). Divide by 7 keeping the remainder (4).

Use this number to find the day as follows:

Number 0 1 2 3 4 5 6
Day of the week Saturday Sunday Monday Tuesday Wednesday Thursday Friday

Thus, February 15, 2006 is a Wednesday.

Alternate version edit

A Perpetual Calendar formula for finding the day of the week for any given year.

1. Begin with the century:

Century 1500s 1600s 1700s 1800s 1900s 2000s 2100s 2200s 2300s
Number 1 0 5 3 1 0 5 3 1

Following centuries continue the cyclic sequence.

2. The year: Take the last two figures of the year date and 1/4 of the number formed by them, ignoring the remainder. For example, for the year 1963, 63 divided by 4 is 15 with remainder 3. So, 63 plus 15 totals 78.

3. The month: For the month number, add as follows, except in case of January and February during a leap year.

Month 1 2 3 4 5 6 7 8 9 10 11 12
Add 0 3 3 6 1 4 6 2 5 0 3 5
For leap years 6 2 Same as above

The Leap Year Rule: a) If the year is divisible by 4 but not 100. b) If the year is divisible by 400.

4. Add the day number.

5. The total is divided by 7 and the remainder will be the day of the week, Sunday being the first day.

Remainder 1 2 3 4 5 6 0
Day of the week Sunday Monday Tuesday Wednesday Thursday Friday Saturday

Example 1: September 11, 2001

Step 1. 2000s corresponds to 0

Step 2. 01 plus 1/4 of 01 is 1

Step 3. September corresponds to number 5

Step 4. The day of the month 11

Step 5. The sum of 17 divided by 7 leaves 3 remainder. Number 3 corresponds to Tuesday.

Example 2: December 7, 1941

1. 1900s corresponds to 1

2. 41 plus 10 is 51

3. Dec corresponds to 5

4. The 7th day, add 7

5. Sum of 64 divided by 7 is 9 with 1 remainder. The first day of the week is SUNDAY.

This algorithm is presented as a single table in the following section, along with the necessary adjustments for Julian dates.

Perpetual Julian and Gregorian calendar table edit

For Julian dates before 1300 and after 1999 use the year in the table which differs by an exact multiple of 700 years. For Gregorian dates after 2299 use the year in the table which differs by an exact multiple of 400 years. The values "r0" through "r6" indicate the remainder when the Hundreds value is divided by 7 and 4 respectively, indicating how the series extend in either direction. Both Julian and Gregorian values are shown 1500-1999 for convenience.

Add together the numbers in the far right hand column on the same line as the hundreds, remaining digits and month. Add the day of the month to the total and divide the grand total by 7. Find the remainder from this division in the far right hand column. The day of the week is beside it. Bold figures (e.g. 04) denote leap year. If a year ends in 00 and its hundreds are in bold it is a leap year. Thus 19 indicates that 1900 is not a Gregorian leap year, (but 19 in the Julian column indicates that it is a Julian leap year, as are all Julian x00 years). 20 indicates that 2000 is a leap year. Use Jan and Feb only in leap years.

100s of Years Remaining Year Digits Month D
o
W
#
Julian
(r ÷ 7)
Gregorian
(r ÷ 4)
r5 19 16 20 r0 00 06   17 23 28 34   45 51 56 62   73 79 84 90 Jan    Oct Sa 0
r4 18 15 19 r3 01 07 12 18 29 35 40 46 57 63 68 74 85 91 96   May Su 1
r3 17
N/A
02   13 19 24 30   41 47 52 58   69 75 80 86   97 Feb  Aug M 2
r2 16 18 22 r2 03 08 14   25 31 36 42   53 59 64 70   81 87 92 98 Feb Mar Nov Tu 3
r1 15
N/A
  09 15 20 26   37 43 48 54   65 71 76 82   93 99   Jun W 4
r0 14 17 21 r1 04 10   21 27 32 38   49 55 60 66   77 83 88 94   Sep Dec Th 5
r6 13
N/A
05 11 16 22 33 39 44 50 61 67 72 78 89 95 Jan Apr Jul F 6

Example: On what day does Feb 3, 4567 (Gregorian) fall?
1) The remainder of 45 / 4 is 1, so use the r1 entry: 5.
2) The remaining digits 67 give 6.
3) Feb (not Feb for leap years) gives 3.
4) Finally, add the day of the month: 3.
5) Adding 5 + 6 + 3 + 3 = 17. Dividing by 7 leaves a remainder of 3, so the day of the week is Tuesday.

See also edit

External links edit