|
|
 |
|
|
|
|
2.7.2.2.) Solar events. New Year's Day is an example. Most of these events would assume a fixed-date rule and suffer some inaccuracy as a result. An example might be a function for the vernal equinox that returned a fixed date of 21 March. |
|
|
|
 |
|
|
|
|
2.7.2.3.) Other astronomical. A very rough approximation of lunar phase can be obtained by simply dividing the Julian Day number by the synodic lunar month. The error can be as large as three days. See the test DTLT_049 for details. |
|
|
|
 |
|
|
|
|
2.8.) Feasts defined as being of a certain class, but depending upon a birthday. The "monarch's birthday" is an example. In this case, the application and its date range would determine the approach. Unless historical dates involving multiple monarchs were concerned, the simplest approach would treat the date by the fixed-date rule and depend upon periodic maintenance for changes. |
|
|
|
 |
|
|
|
|
2.9.) Feasts defined as immovable in another calendar system not completely synchronized with the Western calendar. In these cases, calendar conversion via the Julian Day number is indicated. A conversion from Jewish to Western would look like: |
|
|
|
 |
|
|
|
|
double jd;
struct DATE_INFO date1, date2;
jd = jewish_date_to_JD0 (&date1);
date2 = JD0_to_date (jd); |
|
|
|
 |
|
|
|
|
where date1 is the Jewish date. |
|
|
|
 |
|
|
|
|
2.10.) Strictly cyclic. The Julian Day number can be divided by the value of the length of the cycle and values assigned to the remainders. This method is used to determine the day of the week for any given date in the SCDTL system. |
|
|
|
 |
|
|
|
|
2.11.) Hybrids. |
|
|
|
 |
|
|
|
|
2.11.1.) An immovable feast, unless it falls on a particular DOW. See section 6.2.2.1.2. for a discussion of All Soul's Day. |
|
|
|
 |
|
|
|
|
2.11.2.) Multiple days in one year, using different rules. Use the multiple date definition strategy discussed under section 1.1.1., but define the dates by the appropriate rules. For the example of the celebration of the Miracle of Saint Gennaro (the first Saturday in May AND on 19 September): |
|
|
|
 |
|
|
|
|
date1 = Nth_DOW_of_month (1, DOW_SATURDAY, MONTH_MAY, year);
date2 = st_gennaro_2 (year); |
|
|
|
 |
|
|
|
|
where st_gennaro_2 () returns a fixed date. |
|
|
|
 |
|
|
|
|
2.11.3.) Events that depend upon some natural phenomenon. There is no rule for predicting these events. Table look-up or file reading can be used for historical records. |
|
|
|
|
|