|##########| |#MAGIC #|HHOAELKM |#PROJECT #|"" |#PATHS #|"StdProject" |#LINK #|"" |#GUIDE #|"" |#STACK #|"4096" |#FLAGS #|xx-x-x-xxxx-xxx----------------- |#USERSW #|--x----------------------------- |#USERMASK#|-------------------------------- |#SWITCHES#|xx---xxxxx-xx--- |##########| DEFINITION MODULE Date; (* ** ** Copyright © 1997-2000 Dipl.-Inform. Kai Hofmann. All rights reserved. ** Registered Amiga shared library! ** ** $VER: Date.def 33.320 (02.01.00) ** ** Cluster interface model by henning.thielemann@student.uni-halle.de *) FROM SYSTEM IMPORT SysStringPtr, Regs; FROM Exec IMPORT LibraryPtr; TYPE MoonPhases = (newMoon, firstQuarter, fullMoon, lastQuarter); Weekdays = (dayErr, monday, tuesday, wednesday, thursday, friday, saturday, sunday); DateTexts = (day, month, year, week, weekday, hour, minute, second, yesterday, today, tomorrow); WordClasses = (singular, plural, periodical); Languages = (Locale, English, German, French, Spanish, Portuguese, Danish, Italian, Dutch, Norwegian, Swedish, Polish, Finnish, Hungarian, Greek, Esperanto, Turkish, Latin, Russian, Czech, Catalonian, Serbian, Slovenian, Slovak, Croatian, Bosnian, Estonian, Persian, Japanese, LASTLANGUAGE); Countries = (unknown, Italia, Deutschland, Schweiz, Danmark, Nederland, GreatBritain, USA, Sweden, LASTCOUNTRY); Calendars = (Julian, Gregorian, Heis); ChangeDayModes = (normal, winterToSummer, summerToWinter); VAR DateBase : LibraryPtr; LIBRARY DateBase BY -294 PROCEDURE TimeToJD (hour IN D0, min IN D1, sec IN D2 : SHORTCARD) : REAL; LIBRARY DateBase BY -300 PROCEDURE JDToTime (jd IN D0 : REAL; VAR rhour IN A0, rmin IN A1, rsec IN A2 : SHORTCARD); LIBRARY DateBase BY -318 PROCEDURE TimeZoneFactor (degree IN D0 : SHORTINT) : SHORTINT; LIBRARY DateBase BY -324 PROCEDURE LMT (secs IN D0 : LONGCARD; meridiandegree IN D1 : REAL; posdegree IN D2 : REAL) : LONGINT; LIBRARY DateBase BY -330 PROCEDURE TimeToSec (hour IN D0, min IN D1, sec IN D2 : SHORTCARD) : LONGCARD; LIBRARY DateBase BY -336 PROCEDURE SecToTime (secs IN D0 : LONGCARD; VAR hour IN A0, min IN A1, sec IN A2 : SHORTCARD); LIBRARY DateBase BY -426 PROCEDURE Compare2Times (hour1 IN D0, min1 IN D1, sec1 IN D2, hour2 IN D3, min2 IN D4, sec2 IN D5 : SHORTCARD) : SHORTINT; LIBRARY DateBase BY -438 PROCEDURE ValidTime(hour IN D0, min IN D1, sec IN D2 : SHORTCARD) : BOOLEAN; LIBRARY DateBase BY -468 PROCEDURE TimeDiff(hour1 IN D0, min1 IN D1, sec1 IN D2, hour2 IN D3, min2 IN D4, sec2 IN D5 : SHORTCARD) : LONGINT; LIBRARY DateBase BY -474 PROCEDURE DiffTime(hour IN D0, min IN D1, sec IN D2 : SHORTCARD; diffsecs IN D3 : LONGINT; VAR rhour IN A0, rmin IN A1, rsec IN A2 : SHORTCARD); LIBRARY DateBase BY -498 PROCEDURE FormatTime(fmt IN A0 : SysStringPtr; changeDay IN D0 : ChangeDayModes; changeHour IN D1 : SHORTCARD; DST IN D2 : BOOLEAN; hour IN D3, min IN D4, sec IN D5 : SHORTCARD; zonemin IN D6 : SHORTINT; tstr IN A1 : SysStringPtr); LIBRARY DateBase BY -504 PROCEDURE ParseTime(fmt IN D0, tstr IN D1 : SysStringPtr; changeDay IN D2 : ChangeDayModes; changeHour IN D3 : SHORTCARD; VAR DST IN D4 : BOOLEAN; hour IN A0, min IN A1, sec IN A2 : SHORTCARD; VAR zonemin IN A3 : SHORTINT; pfmt IN D5 : SysStringPtr) : SHORTINT; LIBRARY DateBase BY -594 PROCEDURE TimeToNum(hour IN D0, min IN D1, sec IN D2 : SHORTCARD) : LONGCARD; LIBRARY DateBase BY -600 PROCEDURE NumToTime(num IN D0: LONGCARD; rhour IN A0, rmin IN A1, rsec IN A2 : SHORTCARD); LIBRARY DateBase BY -30 PROCEDURE JulianLeapYear(year IN D0 : LONGINT) : BOOLEAN; LIBRARY DateBase BY -36 PROCEDURE GregorianLeapYear(year IN D0 : LONGINT) : BOOLEAN; LIBRARY DateBase BY -42 PROCEDURE HeisLeapYear(year IN D0 : LONGINT) : BOOLEAN; LIBRARY DateBase BY -48 PROCEDURE JulianMonthDays(month IN D0 : SHORTCARD; year IN D1 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -54 PROCEDURE GregorianMonthDays(month IN D0 : SHORTCARD; year IN D1 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -60 PROCEDURE HeisMonthDays(month IN D0 : SHORTCARD; year IN D1 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -66 PROCEDURE JulianYearDays(year IN D0 : LONGINT) : CARDINAL; LIBRARY DateBase BY -72 PROCEDURE GregorianYearDays(year IN D0 : LONGINT) : CARDINAL; LIBRARY DateBase BY -78 PROCEDURE HeisYearDays(year IN D0 : LONGINT) : CARDINAL; LIBRARY DateBase BY -420 PROCEDURE Compare2Dates(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT) : SHORTINT; LIBRARY DateBase BY -120 PROCEDURE JulianDayDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT) : LONGINT; LIBRARY DateBase BY -126 PROCEDURE GregorianDayDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT) : LONGINT; LIBRARY DateBase BY -132 PROCEDURE HeisDayDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT) : LONGINT; LIBRARY DateBase BY -138 PROCEDURE JulianWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : Weekdays; LIBRARY DateBase BY -144 PROCEDURE GregorianWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : Weekdays; LIBRARY DateBase BY -150 PROCEDURE HeisWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : Weekdays; LIBRARY DateBase BY -156 PROCEDURE JulianDaysBeforeWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays) : SHORTCARD; LIBRARY DateBase BY -162 PROCEDURE GregorianDaysBeforeWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays) : SHORTCARD; LIBRARY DateBase BY -168 PROCEDURE HeisDaysBeforeWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays) : SHORTCARD; LIBRARY DateBase BY -174 PROCEDURE JulianDaysAfterWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays) : SHORTCARD; LIBRARY DateBase BY -180 PROCEDURE GregorianDaysAfterWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays) : SHORTCARD; LIBRARY DateBase BY -186 PROCEDURE HeisDaysAfterWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays) : SHORTCARD; LIBRARY DateBase BY -192 PROCEDURE JulianDiffDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -198 PROCEDURE GregorianDiffDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -204 PROCEDURE HeisDiffDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -210 PROCEDURE JYearToScaliger(year IN D0 : LONGINT) : CARDINAL; LIBRARY DateBase BY -216 PROCEDURE GYearToScaliger(year IN D0 : LONGINT) : CARDINAL; LIBRARY DateBase BY -222 PROCEDURE HYearToScaliger(year IN D0 : LONGINT) : CARDINAL; LIBRARY DateBase BY -228 PROCEDURE ScaligerYearToJ(syear IN D0 : CARDINAL) : LONGINT; LIBRARY DateBase BY -234 PROCEDURE ScaligerYearToG(syear IN D0 : CARDINAL) : LONGINT; LIBRARY DateBase BY -240 PROCEDURE ScaligerYearToH(syear IN D0 : CARDINAL) : LONGINT; LIBRARY DateBase BY -246 PROCEDURE JSYearToJD(syear IN D0 : CARDINAL) : LONGCARD; LIBRARY DateBase BY -252 PROCEDURE GSYearToJD(syear IN D0 : CARDINAL) : LONGCARD; LIBRARY DateBase BY -258 PROCEDURE HSYearToJD(syear IN D0 : CARDINAL) : LONGCARD; LIBRARY DateBase BY -264 PROCEDURE JDtoMJD(jd IN D0 : LONGCARD) : LONGCARD; LIBRARY DateBase BY -270 PROCEDURE MJDtoJD(mjd IN D0 : LONGCARD) : LONGCARD; LIBRARY DateBase BY -276 PROCEDURE JulianToJD(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : LONGCARD; LIBRARY DateBase BY -282 PROCEDURE GregorianToJD(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : LONGCARD; LIBRARY DateBase BY -288 PROCEDURE HeisToJD(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : LONGCARD; LIBRARY DateBase BY -306 PROCEDURE GregorianMoonAge(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -402 PROCEDURE JulianEaster(year IN D0 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD); LIBRARY DateBase BY -312 PROCEDURE GregorianEaster(year IN D0 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD); LIBRARY DateBase BY -408 PROCEDURE HeisEaster(year IN D0 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD); LIBRARY DateBase BY -342 PROCEDURE JulianWeek(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -348 PROCEDURE GregorianWeek(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -354 PROCEDURE HeisWeek(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -360 PROCEDURE WeekdayText(wday IN D0 : Weekdays; wtext IN A0 : SysStringPtr; lang IN D1 : Languages) : SHORTCARD; LIBRARY DateBase BY -372 PROCEDURE WeekdayShortText(wday IN D0 : Weekdays; wtext IN A0 : SysStringPtr; lang IN D1 : Languages) : SHORTCARD; LIBRARY DateBase BY -366 PROCEDURE MonthText(month IN D0 : SHORTCARD; mtext IN A0 : SysStringPtr; lang IN D1 : Languages) : SHORTCARD; LIBRARY DateBase BY -378 PROCEDURE MonthShortText(month IN D0 : SHORTCARD; mtext IN A0 : SysStringPtr; lang IN D1 : Languages) : SHORTCARD; LIBRARY DateBase BY -432 PROCEDURE DateText(text IN D0 : DateTexts; mtext IN A0 : SysStringPtr; lang IN D1 : Languages; wc IN D2 : WordClasses); LIBRARY DateBase BY -384 PROCEDURE JDToJulian(jd IN D0 : LONGCARD; VAR day IN A0, month IN A1 : SHORTCARD; VAR year IN A2 : LONGINT); LIBRARY DateBase BY -390 PROCEDURE JDToGregorian(jd IN D0 : LONGCARD; VAR day IN A0, month IN A1 : SHORTCARD; VAR year IN A2 : LONGINT); LIBRARY DateBase BY -396 PROCEDURE JDToHeis(jd IN D0 : LONGCARD; VAR day IN A0, month IN A1 : SHORTCARD; VAR year IN A2 : LONGINT); LIBRARY DateBase BY -414 PROCEDURE GregorianMoonPhase(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; phase IN D3 : MoonPhases) : LONGCARD; LIBRARY DateBase BY -444 PROCEDURE ValidJulianDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : BOOLEAN; LIBRARY DateBase BY -450 PROCEDURE ValidGregorianDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : BOOLEAN; LIBRARY DateBase BY -456 PROCEDURE ValidHeisDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : BOOLEAN; LIBRARY DateBase BY -462 PROCEDURE SetCountry(country IN D0 : Countries); LIBRARY DateBase BY -480 PROCEDURE SetFirstWeekday(weekday IN D0 : Weekdays); LIBRARY DateBase BY -486 PROCEDURE SupplementCentury(year IN D0 : SHORTCARD; actualyear IN D1 : LONGINT) : LONGINT; LIBRARY DateBase BY -510 PROCEDURE JulianLastMonthDay(month IN D0 : SHORTCARD; year IN D1 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -516 PROCEDURE GregorianLastMonthDay(month IN D0 : SHORTCARD; year IN D1 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -522 PROCEDURE HeisLastMonthDay(month IN D0 : SHORTCARD; year IN D1 : LONGINT) : SHORTCARD; LIBRARY DateBase BY -528 PROCEDURE NextValidJulianDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -534 PROCEDURE NextValidGregorianDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -540 PROCEDURE NextValidHeisDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -546 PROCEDURE PreviousValidJulianDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -552 PROCEDURE PreviousValidGregorianDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -558 PROCEDURE PreviousValidHeisDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -564 PROCEDURE FormatDate(fmt IN A0 : SysStringPtr; day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; lang IN D3 : Languages; tstr IN A1 : SysStringPtr calendar IN D4 : Calendars); LIBRARY DateBase BY -570 PROCEDURE ParseDate(fmt IN D0, dstr IN D1 : SysStringPtr; lang IN D2 : Languages; calendar IN D3 : Calendars; actualjd IN D4 : LONGCARD; VAR day IN A0, month IN A1 : SHORTCARD; VAR year IN A2 : LONGINT; pfmt IN A3 : SysStringPtr; VAR plang IN D5 : Languages) : SHORTINT; LIBRARY DateBase BY -576 PROCEDURE JulianWWtoDM(weekday IN D0 : Weekdays; week IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -582 PROCEDURE GregorianWWtoDM(weekday IN D0 : Weekdays; week IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -588 PROCEDURE HeisWWtoDM(weekday IN D0 : Weekdays; week IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -606 PROCEDURE DateToNum(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT) : LONGINT; LIBRARY DateBase BY -612 PROCEDURE NumToDate(num IN D0 : LONGINT; VAR day IN A0, month IN A1 : SHORTCARD; VAR year IN A2 : LONGINT); LIBRARY DateBase BY -618 PROCEDURE JulianDiffDateRange(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; months IN D4 : LONGINT; years IN D5 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -624 PROCEDURE GregorianDiffDateRange(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; months IN D4 : LONGINT; years IN D5 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -630 PROCEDURE HeisDiffDateRange(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; months IN D4 : LONGINT; years IN D5 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT); LIBRARY DateBase BY -636 PROCEDURE JulianRangeDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT; VAR days IN A0, months IN A1 : SHORTINT; VAR years IN A2 : LONGINT); LIBRARY DateBase BY -642 PROCEDURE GregorianRangeDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT; VAR days IN A0, months IN A1 : SHORTINT; VAR years IN A2 : LONGINT); LIBRARY DateBase BY -648 PROCEDURE HeisRangeDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT; VAR days IN A0, months IN A1 : SHORTINT; VAR years IN A2 : LONGINT); LIBRARY DateBase BY -654 PROCEDURE LocalToGMT(ljd IN D0, lsecs IN D1 : LONGCARD; DST IN D2 : BOOLEAN; zonemin IN D3 : SHORTINT; VAR gjd IN A0, gsecs IN A1 : LONGCARD); LIBRARY DateBase BY -660 PROCEDURE GMTToLocal(gjd IN D0, gsecs IN D1 : LONGCARD; zonemin IN D2 : SHORTINT; changePrevDay IN D3, changeDay IN D4, changeNextDay IN D5 : ChangeDayModes; changeHour IN D6 : SHORTCARD; VAR ljd IN A0, lsecs IN A1 : LONGCARD; VAR DST IN A2 : BOOLEAN); LIBRARY DateBase BY -666 PROCEDURE LeapYear(year IN D0 : LONGINT; calendar IN D1 : Calendars) : BOOLEAN; LIBRARY DateBase BY -672 PROCEDURE MonthDays(month IN D0 : SHORTCARD; year IN D1 : LONGINT; calendar IN D2 : Calendars) : SHORTCARD; LIBRARY DateBase BY -684 PROCEDURE YearDays(year IN D0 : LONGINT; calendar IN D1 : Calendars) : CARDINAL; LIBRARY DateBase BY -690 PROCEDURE DayDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT; calendar IN D6 : Calendars) : LONGINT; LIBRARY DateBase BY -696 PROCEDURE Weekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; calendar IN D3 : Calendars) : Weekdays; LIBRARY DateBase BY -702 PROCEDURE DaysBeforeWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays; calendar IN D4 : Calendars) : SHORTCARD; LIBRARY DateBase BY -708 PROCEDURE DaysAfterWeekday(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; weekday IN D3 : Weekdays; calendar IN D4 : Calendars) : SHORTCARD; LIBRARY DateBase BY -714 PROCEDURE YearToScaliger(year IN D0 : LONGINT; calendar IN D1 : Calendars) : CARDINAL; LIBRARY DateBase BY -720 PROCEDURE ScaligerYearToYear(syear IN D0 : CARDINAL; calendar IN D1 : Calendars) : LONGINT; LIBRARY DateBase BY -726 PROCEDURE SYearToJD(syear IN D0 : CARDINAL; calendar IN D1 : Calendars) : LONGCARD; LIBRARY DateBase BY -732 PROCEDURE DateToJD(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; calendar IN D3 : Calendars) : LONGCARD; LIBRARY DateBase BY -738 PROCEDURE Easter(year IN D0 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; calendar IN D1 : Calendars); LIBRARY DateBase BY -744 PROCEDURE Week(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; calendar IN D3 : Calendars) : SHORTCARD; LIBRARY DateBase BY -750 PROCEDURE JDToDate(jd IN D0 : LONGCARD; VAR day IN A0, month IN A1 : SHORTCARD; VAR year IN A2 : LONGINT; calendar IN D1 : Calendars); LIBRARY DateBase BY -756 PROCEDURE ValidDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; calendar IN D3 : Calendars) : BOOLEAN; LIBRARY DateBase BY -678 PROCEDURE LastMonthDay(month IN D0 : SHORTCARD; year IN D1 : LONGINT; calendar IN D2 : Calendars) : SHORTCARD; LIBRARY DateBase BY -762 PROCEDURE NextValidDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT; calendar IN D3 : Calendars); LIBRARY DateBase BY -768 PROCEDURE PreviousValidDate(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT; calendar IN D3 : Calendars); LIBRARY DateBase BY -774 PROCEDURE WWtoDM(weekday IN D0 : Weekdays; week IN D1 : SHORTCARD; year IN D2 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT; calendar IN D3 : Calendars); LIBRARY DateBase BY -780 PROCEDURE DiffDateRange(day IN D0, month IN D1 : SHORTCARD; year IN D2 : LONGINT; days IN D3 : LONGINT; months IN D4 : LONGINT; years IN D5 : LONGINT; VAR dday IN A0, dmonth IN A1 : SHORTCARD; VAR dyear IN A2 : LONGINT; calendar IN D6 : Calendars); LIBRARY DateBase BY -786 PROCEDURE RangeDiff(day1 IN D0, month1 IN D1 : SHORTCARD; year1 IN D2 : LONGINT; day2 IN D3, month2 IN D4 : SHORTCARD; year2 IN D5 : LONGINT; VAR days IN A0, months IN A1 : SHORTINT; VAR years IN A2 : LONGINT; calendar IN D6 : Calendars); GROUP TypeGrp = MoonPhases, Weekdays, DateTexts, WordClasses, Languages, Countries, Calendars, ChangeDayModes; ProcGrp = TimeZoneFactor, LMT, ValidTime, DateText, SetCountry, SetFirstWeekday, SupplementCentury, TimeToJD, JDToTime, TimeToSec, SecToTime, JDtoMJD, MJDtoJD, TimeDiff, DiffTime, FormatTime, ParseTime, FormatDate, ParseDate, Compare2Times, Compare2Dates, TimeToNum, NumToTime, DateToNum, NumToDate, WeekdayText, WeekdayShortText, MonthText, MonthShortText, GregorianMoonPhase, GregorianMoonAge, JulianLeapYear, GregorianLeapYear, HeisLeapYear, JulianMonthDays, GregorianMonthDays, HeisMonthDays, JulianYearDays, GregorianYearDays, HeisYearDays, JulianDayDiff, GregorianDayDiff, HeisDayDiff, JulianWeekday, GregorianWeekday, HeisWeekday, JulianDaysBeforeWeekday, GregorianDaysBeforeWeekday, HeisDaysBeforeWeekday, JulianDaysAfterWeekday, GregorianDaysAfterWeekday, HeisDaysAfterWeekday, JulianDiffDate, GregorianDiffDate, HeisDiffDate, JYearToScaliger, GYearToScaliger, HYearToScaliger, ScaligerYearToJ, ScaligerYearToG, ScaligerYearToH, JSYearToJD, GSYearToJD, HSYearToJD, JulianToJD, GregorianToJD, HeisToJD, JulianEaster, GregorianEaster, HeisEaster, JulianWeek, GregorianWeek, HeisWeek, JDToJulian, JDToGregorian, JDToHeis, ValidJulianDate, ValidGregorianDate, ValidHeisDate, JulianLastMonthDay, GregorianLastMonthDay, HeisLastMonthDay, NextValidJulianDate, NextValidGregorianDate, NextValidHeisDate, PreviousValidJulianDate, PreviousValidGregorianDate, PreviousValidHeisDate, JulianWWtoDM, GregorianWWtoDM, HeisWWtoDM, JulianDiffDateRange, GregorianDiffDateRange, HeisDiffDateRange, JulianRangeDiff, GregorianRangeDiff, HeisRangeDiff, LeapYear, MonthDays, YearDays, DayDiff, Weekday, DaysBeforeWeekday, DaysAfterWeekday, YearToScaliger, ScaligerYearToYear, SYearToJD, DateToJD, Easter, Week, JDToDate, ValidDate, LastMonthDay, NextValidDate, PreviousValidDate, WWtoDM, DiffDateRange, RangeDiff; All = ProcGrp, TypeGrp; END Date.