This is a more involved method to calculate the day of the week
for Gregorian calendar dates from 15.oct.1582 & as far into the
future as workable using standard four-function calculators &
certain mobile phones via a modified formula requiring fewer
key-clicks than any previous method not using tables.
Given:
Day.Month.Year as a Date on the Gregorian calendar as of
15.octob.1582
&
SPQR as the 'Year of the last Julian Leap Day' prior to the given
Date (as if for a Julian Calendar whose years begin on 1.jan.)
&
SP as a nominal 'century' for the hundred years as of 1.march.SP00
(only one Lag offset thereby required for such a Gregorian century,
starting with century 15)
&
QR as the two-digit 'Year of the last Julian Leap Day'
&
delta = Year - SPQR
&
under as the amount that SP is less than the next higher multiple
of 4;
a standard four-function calculator can convert the given Date into a
day of the week after completing the 3 steps below with 33 key-clicks
or less, without any mental multiplication or division by the user.
STEP 0. Calculate the effective Offset due to Lag and delta:
under + under + delta
Remember the result or store it in memory.
STEP 1. Apply Lachman's Congruence:
Month * 2.56 + 94
and then drop the fraction, and the hundreds digit, if any,
to get a MonthIndex less than 100, e.g. 124.72 becomes 24;
remember the result for use in Step 2.
STEP 2. Apply the modified date conversion formula:
(QR/.8 + MonthIndex + Day + Offset) / 7
STEP 3. Apply Hans' keypad mapping:
Take the first digit after the decimal point (if none, use 0)
and map that to a day using the following patterns:
+-----+-----+-----+ +-----+-----+-----+
| Fri | Sat | | | 1 | 2 | 3 |
| 7 | 8 | 9 | | Mon | Tue | |
+-----+-----+-----+ +-----+-----+-----+
| Wed | Thu | | | 4 | 5 | 6 |
| 4 | 5 | 6 | | Wed | Thu | |
+-----+-----+-----+ +-----+-----+-----+
| Mon | Tue | | | 7 | 8 | 9 |
| 1 | 2 | 3 | | Fri | Sat | |
+-----+-----+-----+ +-----+-----+-----+
| Sun | | 0 |
| 0 | | Sun |
+-----+ +-----+
(This is equivalent to assigning days to remainders of divisions by 7
as for: Sun=0 Mon=1 Tue=2 Wed=3 Thu=4 Fri=5 Sat=6.)
Lag is the number of days that a Gregorian date to be converted falls behind
the same Julian date. It was zero for century 02, during which the Gregorian
Calendar, if already implemented beforehand, would have coincided with the
Julian--thus leading to Hans' Julian Step 2 formula. It must be decreased by
1 for every March 1st preceded by February 29th in the Julian but not in the
Gregorian calendar. Lag is now -13 and will be -14 as of 1.iii.MMC to start
off century 21 when Hans' shorter Julian formula applies again to Gregorian
dates, the last time being in Centuries 11 & 12 when it would have been -7.
In century 00 as of 1.iii.IV, it would have been +2.
EXAMPLE Z. 29.feb.1904 SP = 19 QR = 00 delta = 4 under = 1
1 + 1 + 4 = 6
2 * 2.56 + 94 = 99.12 (MonthIndex = 99)
00/.8 + 99 + 29 + 6
Divide by 7 = 19.142857...
first decimal = 1 Day of Week = Mon
EXAMPLE A. 31.dec.2100 SP = 21 QR = 00 delta = 0 under = 3
3 + 3 + 0 = 6
12 * 2.56 + 94 = 124.72 (MonthIndex = 24)
00/.8 + 24 + 31 + 6
Divide by 7 = 8.714285...
first decimal = 7 Day of Week = Fri
EXAMPLE B. 29.feb.2000 SP = 19 QR = 96 delta = 4 under = 1
1 + 1 + 4 = 6
2 * 2.56 + 94 = 99.12 (MonthIndex = 99)
96/.8 + 99 + 29 + 6
Divide by 7 = 36.285714...
first decimal = 2 Day of Week = Tue
EXAMPLE C. 1.mar.2000 SP = 20 QR = 00 delta = 0 under = 4
4 + 4 + 0 = 8
3 * 2.56 + 94 = 101.28 (MonthIndex = 1)
00/.8 + 1 + 1 + 8
Divide by 7 = 1.428571...
first decimal = 4 Day of Week = Wed
The Examples above are for a standard (running total) calculator;
those for RPN or algebraic calculators are left as an exercise.
(Hint: re-order Steps and streamline operations.)
--
REFERENCE
gopher://gopherite.org/0/users/retroburrowers/TemporalRetrology/cc/jg
Response:
text/plain