DEFINITION Date; TYPE Weekdays = SHORTINT; CONST dayerr = 0; Monday = 1; Tuesday = 2; Wednesday = 3; Thursday = 4; Friday = 5; Saturday = 6; Sunday = 7; PROCEDURE JulianLeapYear(year: INTEGER): BOOLEAN; PROCEDURE GregorianLeapYear(year: INTEGER): BOOLEAN; PROCEDURE HeisLeapYear(year: INTEGER): BOOLEAN; PROCEDURE JulianMonthDays(month: SHORTINT; year: INTEGER): SHORTINT; PROCEDURE GregorianMonthDays(month: SHORTINT; year: INTEGER): SHORTINT; PROCEDURE HeisMonthDays(month: SHORTINT; year: INTEGER): SHORTINT; PROCEDURE JulianYearDays(year: INTEGER): INTEGER; PROCEDURE GregorianYearDays(year: INTEGER): INTEGER; PROCEDURE HeisYearDays(year: INTEGER): INTEGER; PROCEDURE JulianDaySmaller(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): BOOLEAN; PROCEDURE GregorianDaySmaller(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): BOOLEAN; PROCEDURE HeisDaySmaller(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): BOOLEAN; PROCEDURE JulianDayGreater(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): BOOLEAN; PROCEDURE GregorianDayGreater(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): BOOLEAN; PROCEDURE HeisDayGreater(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): BOOLEAN; PROCEDURE JulianDayDiff(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): LONGINT; PROCEDURE GregorianDayDiff(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): LONGINT; PROCEDURE HeisDayDiff(day1, month1: SHORTINT; year1: INTEGER; day2, month2: SHORTINT; year2: INTEGER): LONGINT; PROCEDURE JulianWeekday(day, month: SHORTINT; year: INTEGER): Weekdays; PROCEDURE GregorianWeekday(day, month: SHORTINT; year: INTEGER): Weekdays; PROCEDURE HeisWeekday(day, month: SHORTINT; year: INTEGER): Weekdays; PROCEDURE JulianDaysBeforeWeekday(day, month: SHORTINT; year: INTEGER; weekday: Weekdays): SHORTINT; PROCEDURE GregorianDaysBeforeWeekday(day, month: SHORTINT; year: INTEGER; weekday: Weekdays): SHORTINT; PROCEDURE HeisDaysBeforeWeekday(day, month: SHORTINT; year: INTEGER; weekday: Weekdays): SHORTINT; PROCEDURE JulianDaysAfterWeekday(day, month: SHORTINT; year: INTEGER; weekday: Weekdays): SHORTINT; PROCEDURE GregorianDaysAfterWeekday(day, month: SHORTINT; year: INTEGER; weekday: Weekdays): SHORTINT; PROCEDURE HeisDaysAfterWeekday(day, month: SHORTINT; year: INTEGER; weekday: Weekdays): SHORTINT; PROCEDURE JulianDiffDate(day, month: SHORTINT; year, days: INTEGER; VAR dday, dmonth: SHORTINT; VAR dyear: INTEGER); PROCEDURE GregorianDiffDate(day, month: SHORTINT; year, days: INTEGER; VAR dday, dmonth: SHORTINT; VAR dyear: INTEGER); PROCEDURE HeisDiffDate(day, month: SHORTINT; year, days: INTEGER; VAR dday, dmonth: SHORTINT; VAR dyear: INTEGER); PROCEDURE JYearToScaliger(year: INTEGER): INTEGER; PROCEDURE GYearToScaliger(year: INTEGER): INTEGER; PROCEDURE HYearToScaliger(year: INTEGER): INTEGER; PROCEDURE ScaligerYearToJ(syear: INTEGER): INTEGER; PROCEDURE ScaligerYearToG(syear: INTEGER): INTEGER; PROCEDURE ScaligerYearToH(syear: INTEGER): INTEGER; PROCEDURE JSYearToJD(syear: INTEGER): LONGINT; PROCEDURE GSYearToJD(syear: INTEGER): LONGINT; PROCEDURE HSYearToJD(syear: INTEGER): LONGINT; PROCEDURE JDtoMJD(jd: LONGINT): LONGINT; PROCEDURE MJDtoJD(mjd: LONGINT): LONGINT; PROCEDURE JulianToJD(day, month: SHORTINT; year: INTEGER): LONGINT; PROCEDURE GregorianToJD(day, month: SHORTINT; year: INTEGER): LONGINT; PROCEDURE HeisToJD(day, month: SHORTINT; year: INTEGER): LONGINT; PROCEDURE TimeToJD(hour, min, sec: SHORTINT): REAL; PROCEDURE JDToTime(jd: REAL; VAR rhour, rmin, rsec: SHORTINT); PROCEDURE GregorianMoonAge(day, month: SHORTINT; year: INTEGER): SHORTINT; PROCEDURE GregorianEaster(year: INTEGER; VAR dday, dmonth: SHORTINT); PROCEDURE TimeZoneFactor(degree: SHORTINT): SHORTINT; PROCEDURE LMT(secs: LONGINT; meridiandegree, posdegree: REAL): LONGINT; PROCEDURE TimeToSec(hour, min, sec: SHORTINT): LONGINT; PROCEDURE SecToTime(secs: LONGINT; VAR hour, min, sec: SHORTINT); PROCEDURE JulianWeek(day, month: SHORTINT; year: INTEGER): SHORTINT; PROCEDURE GregorianWeek(day, month: SHORTINT; year: INTEGER): SHORTINT; PROCEDURE HeisWeek(day, month: SHORTINT; year: INTEGER): SHORTINT; END Date.