< previous page page_174 next page >

Page 174
6.3
Non-Western Calendars
Virtually all the days of observance followed by non-Western calendars and treated in this book follow the fixed-date rule. These dates are elaborated in the sections that deal with the respective calendars.
The Jewish calendar largely adheres to the fixed-date rule, but the structural complexity of the calendar, along with the religious injunctions imposed upon certain observances, creates some algorithmic problems unique to that calendar.
Among all of the other non-Western calendars studied, the most significant exception to the fixed-date rule occurs within the Persian tradition. In the Zoroastrian calendar, both the months of the year and the days of the month are given names, rather than numbers. The association is religious. Each day of the month and each month of the year is dedicated to a deity. Thus, each month contains a day which bears the same name as the month, and that day is the great feast day for that particular deity.
This rule is unique to this calendar, and is possible by virtue of the convention of naming, rather than numbering, days.
The Western calendar contains some numerical analogs of this same-day-same-month rule, but these are all circumstantial and not evidence of a rule. An example would be the original Armistice Day, which had special significance for veterans of the First World War, since the agreement took effect on the 11th hour of the 11th day of the 11th month. New Year (1 January) and Cinco de Mayo are other examples.
The Persian solar calendar carried forward the names of the months, but not the day-of-observance rule. The Baha'i calendar, interestingly, also originated in Persia and also gives names to time units other than the month.
6.4
Usage of Days-of-Observance Functions in Applications
The functions contained in SCDTL allow the implementation of a wide variety of applications. One common application that makes use of functions for days of observance is the preparation of lists of legal holidays for a given year and entity, such as a nation.
This section demonstrates two simple applications, which show how the various components in the suite of day-of-observance functions can be assembled into larger units.
The first example assumed is the production of code to identify the dates of holidays in the Netherlands for a given year. The required code is found in the test program, DTLT_142.C.
Looking at the application in a top-down manner, the test bed needs certain header files  stdio.h for printf (), scdtl_2.h for the definition of the DATE_INFO structure, and standard functions such as make_date () and the file scdtl_4.h for easter () and other functions related to days of observance.

 
< previous page page_174 next page >