I got a couple of inquiries, which I answered in email, about this -- but
that suggests a possibly more general interest in the Roman oddities of
counting days. There is a tabular conversion, and some discussion, in the
_Explanatory Supplement to the Astronomical Almanac_ (the current edition)
on page 602, and I will expand on that a bit here. This source prompted
my earlier question about the earliest date of a *our* counting convention:
"By the eleventh century, consecutive counting of days from the
beginning of the month came into use."
which suggests to me that no such usage is known before 1000 CE. The
Roman method involved two things which seem odd to us -- counting back-
wards, and a somewhat counter-intuitive numbering scheme. Plus a wildly
arbitrary placement of the mid-month "Ides" that are central to the scheme.
Basically, each month has a "Calends" which is its first day; that we under-
stand without problem. There is also an "Ides" in the midst of the month.
Back in the mists of time, this may have been a kind of "fortnight" or
half-month division. But classically, the Ides were on the 15th of the
months March, May, July and October and on the 13th of all other months
(I speculate that a 15th versus 13th Ides originated in 30 versus 29 day
lunar months and originally located the full moon; but direct observation
of the moon was irrelevant to the Roman calendar in *all* historical eras.)
Just to complicate matters, there is a Nones 9-days (by Roman counting :-))
before the Ides. This is entirely algorithmic and causes no boggling of
minds beyond that caused by the rest of the system (though it is of some
interest that the Babylonian lunar observances noted new moon, full moon
and first quarter but had no special 3rd quarter observance.) The Roman
system doesn't really respect lunar phases, but it seems to have a memory
of once having done so :-) [From our perspective, if the Ides represented
the full moon conventionally taken as the 15th, then the Nones was 8 days
earlier on the 7th which is a good match for the 1st quarter.]
The end result is that in Roman calendar notation, all counting is *back-
wards*, and one has to memorize what it is backwards *from.* And Roman
counting is inclusive, so that the Ides of March is 15th March, and this
counts as "1st" Ides (but is *not* written so) and the day before the Ides
of March is "2nd Ides Martius." And so on down to "9th Ides", which is
not so named, but called Nones Martius.
What follows is a C function to print the Roman date, given one of ours.
For full Roman obfuscation, one should use a function to print out Roman
numerals for the integer n below (and probably do something like output
the year as n+753 AUC in Roman numerals as well :-)) I have given in to
the urge to present a Gregorian leap year reckoning, so that obscurantists
amongst us can "use" this for current dates.
----
int ides[] = { 0, 13, 13, 15, 13, 15, 13, 15, 13, 13, 15, 13, 13 };
int mlen[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
char *mnam[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
roman(month, day, year)
int month;
int day;
int year;
{
char *mark, *ref;
int n;
mark = "Calends";
ref = mnam[month-1];
if (day > ides[month]) {
ref = mnam[month%12];
mark = "Calends";
n = mlen[month]-day+2;
if (month == 2 && leap(year) && n < 6)
n += 1;
}
else if (day > ides[month] - 8) {
mark = "Ides";
n = ides[month] - day + 1;
}
else if (day > 1) {
mark = "Nones";
n = ides[month] - day - 7;
}
else
n = 1;
if (n > 1)
printf("%d %s %s %d\n", n, mark, ref, year);
else
printf("%s %s %d\n", mark, ref, year);
}
leap(year)
int year;
{
if (year%4)
return 0;
else if (year%400)
return 1;
else if (year%100)
return 0;
return 1;
}
--
Michael L. Siemon "We honour founders of these starving cities
mls@panix.com Whose honour is the image of our sorrow ...
- or - They built by rivers and at night the water
mls@ulysses.att.com Running past the windows comforted their sorrow."
Return to The Skeptic Tank's main Index page.
The views and opinions stated within this web page are those of the
author or authors which wrote them and may not reflect the views and
opinions of the ISP or account user which hosts the web page. The
opinions may or may not be those of the Chairman of The Skeptic Tank.