home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Current Shareware 1994 January
/
SHAR194.ISO
/
educatio
/
zeller.zip
/
ZELLER.DOC
< prev
next >
Wrap
Text File
|
1993-08-09
|
7KB
|
121 lines
ZELLER
The Julian calendar was instituted by Caesar in 45 B.C. It
corrected the previous calendar, which assumed that each year
consisted of 365 days, by declaring that each fourth year would
contain 366 days, thus effectively allowing 365.25 days for each
year. It is probable that Caesar's astronomers knew that this was
slightly too large; in any event, this was noted by the Venerable
Bede in 730 A.D. The Julian calendar continued in general use
until 1582, however, when Pope Gregory XIII decreed that years
divisible by 100 should not be leap years unless also divisible
by 400. This change was astronomically necessary, but the new
'stile' was closely associated with the Catholic church and was
not immediately accepted by everyone. While the first official
adoptions were made in 1582, the last one was in 1927 (Turkey).
Switzerland used a "gradual" adoption, starting in 1582 and ending
in 1812. When making the change from the Julian to the Gregorian
calendar, some number of days (10 in 1582, 13 at present) must be
deleted, since the Julian year is longer than the solar year.
There are numerous programs for finding the day of the week
for a given date; many of these, like the current program, rely
upon formulas published by Ch. Zeller (Kalender Formeln, Acta Math.,
v.9, 1897). The current program is arbitrarily restricted to the
range of years from -100 to 3000, even though the routines have
much greater range. Since this program is intended as an aid in
historical research, the range given should be more than sufficient.
For any date in this range, the program will give the day of the
week for any given month,day,year, will display a calendar for any
given month and year, and will give the date of Easter for any year.
Either the Julian or the Gregorian calendar may be used. Because
of the lack of a generally accepted calendar for the early years of
the range, some caution must be used when dealing with documents
written before about 300 AD, and also for those written in countries,
like Great Britain, which used both dates for some years before
1752, sometimes using the notations (OS) and (NS) distinguish between
the "Old Style" (Julian) and the "New Style" (Gregorian). The years
in which the date of the beginning of the year was changed must
also be considered; for example, Scotland began using January 1
in 1600 while Great Britain continued to use March 25 until 1752.
It is clear that dealing with historical dates is not easy; the fact
that most contempary writers automatically convert the dates given
in the original sources to the Gregorian calendate from Oct. 15,
1582 and later does not make the task easier. It studying original
documents, the routines given here might be useful while later works
on the same period might give completely different dates. In such
cases, it might be desirable to force the use of the Gregorian
calendar, or at least to compare the two.
In the paper cited above, Zeller included an algorithm for the
Easter, but unfortunately there is a flaw in the method which
causes it to be off by one week in a number of years. Here I have
used an algorithm due to Gauss and described by Knuth, The Art of
Computer Programming, vol. 2, 212-220.
Anyone wishing to use this program for historical work needs
to know which calendar was used at the time in the country being
considered. It would obviously also be desirable to know which
specific dates were omitted when the change to the Gregorian
calendar was made in that counntry; unfortunately, this last item
is not always easy to obtain. A list of some of the dates of adoption
is given below, and may be popped up in the program; these include
the omitted dates only for the original countries and for Great
Britain and its (1752) colonies.
It should be noted that this program does not ignore the omitted
dates and thus will give an answer, necessarily wrong, for the day
of the week for a nonexistent date. For example, Oct 10, 1582 is
nonexistent in Spain and Sept 5, 1752 in England; since these dates
are perfectly legal in some other countries, there is no way to avoid
this kind of error except by entering only legal dates for the country
being considered, and for this one needs to know the date of adoption
of the Gregorian calendar in that country.
OPERATION OF THE PROGRAM
Dates for conversion may be entered in the form mm/dd/yyyy, or
m d y or m-d-y or ..., or in English: Apr 15, 1992 or 4 july 1776.
The last quantity entered must be the year, which must always be
given in full.
Normally, the Julian calendar is used prior to Oct 5, 1582 and
the Gregorian calendar from Oct 15, 1582. If your concern is with
dates in Britain and its (1752) colonies, putting a 'B' (upper or
lower case) at the end of the year will cause the program to use
Julian dates until Sep 2, 1752 and Gregorian dates from Sep 14, 1752.
You may always force the use of the Julian or Gregorian calendar by
putting a 'J' or a 'G' at the end of the year.
If month, day and year are all entered, the program prints the
day of the week for that date. If month and year only are entered
(e.g. "March 1992" or "3/0/1992"), a calender for that month is
popped up (while the calendar is displayed, the month may be changed,
within the current year) by pressing PgUp or PgDn). Finally, if a
year only is entered, the date of Easter for that year is printed.
To pop up the table of adoption dates, press F1.
Source code (Turbo C) is included. Reports of any errors or
other difficulties would be appreciated.
B. J. Ball
3304 Glen Rose Drive
Austin, TX 78731
Gregorian Adoption Dates
Italy, Spain, Portugal Oct 1582 Omitted: Oct 5-14
France Dec 1582
Catholic German states 1583
Protestant German states 1700
Great Britain Sep 1752 Omitted: Sep 3-13
Sweden 1753
Japan 1873
China 1912
Russia 1918
Greece 1924
Turkey 1927