From: | Mark J. Reed <markjreed@...> |
---|---|

Date: | Monday, April 26, 2004, 14:11 |

I noticed that I threw out a bunch of math without much explication. Let me offer a small beginning of a correction to that oversight. Calendar units necessarily consist of whole numbers of days - having, say, New Year's Day start at midnight but the 1st of February start at noon would take calendrical inconvenience to a whole new level. If the number of days per unit is always the same - as in the week, which is always seven days - then the math is easy. Divide the global day count by the size of the unit; the quotient tells you how many units there have been, while the remainder tells you how far into the current unit you are. For instance, given a date in the Rata Die count you can quickly find out what day of the week it is, with only one other fact at your disposal: that RD 1 was a Monday. The number 1 divided by 7 leaves a remainder of 1, obviously, so the remainder when divided by 7 maps to days of the week as follows: 0 (i.e. the RD is an even multiple of 7)=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday. Today is RD 731,697. 731,697 divided by 7 yields 104,528 with a remainder of 1. I don't much care that there have been 104,528 complete weeks since January 1st, AD, but the remainder tells me that today must be a Monday. Unfortunately. :) My birthday, as I calculated in the last message, was RD 718,557. 718,557 divided by 7 yeilds 102,651 exactly - no remainder. So I was born on a Sunday. Cue jokes about the Childe that is born on the Sabbath Day. This same technique would work for months and years if months and years were always the same number of days; sadly, that is not the case. The times between astronomical events which these units approximate are not whole numbers of days, so if the units were a constant whole number of days the calendar would quickly get out of synch with astronomical reality. For example, a lunar month is about 29.5 days; a tropical year is about 365.25 days; a "solar month" of the type we have in our calendar (really just 1/12 of the tropical year) is about 30.4375 days. Rather than have units extending into fractions of a day (see earlier remark about new levels of inconvenience), real calendars have units whose size changes. The idea is pretty simple: one lunar month is 29.5 days, which is not a whole number, but that makes two lunar months equal to 59 days, which is a whole number. So if the calendar month lengths alternate between 29 and 30 days, the *average* calendar month will be 29.5 days, and the calendar will never be more than a day off of the desired schedule. Similarly, one tropical year of 365.25 days is not a whole number, but four tropical years add up to 4 x 365.25 = 1,461 days. So pick one of the four years and stick the extra day on it, turning 4 x 365.25 into 3 x 365 + 366, and the calendar stays generally on track, again never deviating by more than a day from the goal. To handle these complications when converting from a fixed day count like the RD, you group units together into something called a "cycle". Instead of dividing by the number of days in one unit, you divide by the number of days in a cycle of units. Identifying the appropriate cycle size can be tricky - you have to find the smallest number of units which create a cycle that repeats indefinitely in exactly the same pattern. In our hypothetical examples above, that'd be two lunar months or four tropical years. But things are not that simple in real calendars, because the lunar month isn't exactly 29.5 days; it's more like 29.53059... - and even that's just an average, as months are longer near the beginning of the year and shorter near the middle. Similarly, the tropical year isn't exactly 365.25 days; what it is "exactly" depends on what point in the year you measure from, but our calendar is based on the time between March equinoxes, which averages about 365.2424... days. So more complications are added to the calendars to keep things in synch. In the case of the calendar with lunar months, then on some periodic basis some month which would normally have 29 days is given 30 days instead. In the case of the calendar with solar years, you might decide to skip a leap year every 100 years . . . but that makes the average year 365.25 - 1/100 = 365.25 - 0.01 = 365.24 days, which is now too small. So every 400 years you put a leap year back, taking the average up back up to 365.24 + (1/400) = 365.2425 days. That's the way the Gregorian calendar works, and the resulting average calendar year is close enough to the tropical year that we don't have to worry about it getting out of synch with the seasons for a long, long time. But these complications in the calendar further complicate the conversion arithmetic. In the case of the Gregorian calendar, four years is no longer the cycle we need for our calculations, because three times in every 400 years you get a four-year cycle that has a different number of days (1,460 instead of 1,461, due to the skipped leap year). So we have to move up to a 100-year cycle of 36,524 days. Except that's *still* not our desired endless-repeater, because every fourth set of 100 years is actually 36,525 days instead. So the smallest indefinitely-repeating cycle in the Gregorian calendar is 400 years, which add up to 146,097 days. Once you know where a date is in the latest such cycle, you'll know whether it's in a 36,524-day or 36,525-day cycle of 100 years, and whether it's in a 1,460-day or 1,461-day cycle of 4 years, and finally whether it's in a 365-day or 366-day leap year; that is the math I worked through in my last message. -Mark