home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2src / datefunc.def < prev    next >
Text File  |  1996-01-28  |  2KB  |  65 lines

  1. (* PROGRAM NAME : Date functions
  2. * AUTHOR : Johan terryn 
  3. * COPYRIGHT (C) 1995 BY XINIX
  4. * ────────────────────────────────────────────────────────────────────────────
  5. * CREATED : 28/12/1995 *)
  6. DEFINITION MODULE DateFunctions;
  7.  
  8. TYPE DATE = RECORD
  9.        day, month, year : CARDINAL;
  10.        END;
  11.  
  12. TYPE DateFormat = (EURO, ISO, US, ANSI);
  13.  
  14. VAR  done               : BOOLEAN;
  15.  
  16.  
  17. PROCEDURE SetDateFormat(NewFormat: DateFormat) : DateFormat;
  18. (*****************)
  19.  
  20. PROCEDURE ToDay() : DATE;
  21. (*****************)
  22.  
  23. PROCEDURE Leapyear(year : CARDINAL) : BOOLEAN;
  24. (*****************)
  25. (* OK 28/12/1995 *)
  26.  
  27. PROCEDURE ValidDate(date : DATE) : BOOLEAN;
  28. (*****************)
  29. (* 25/12/1995 verified, tested and OK *)
  30.  
  31.  
  32. PROCEDURE LeapDays(FromYear,ToYear: CARDINAL):CARDINAL;
  33. (*****************)
  34. (* tested 31/12/1995 *)
  35.      
  36. PROCEDURE Date2Num(date: DATE):LONGCARD;
  37. (*****************)
  38. (* tested 31/12/1995 *)
  39.  
  40. PROCEDURE Num2Date(num : LONGCARD):DATE;
  41. (*****************)
  42. (* tested 31/12/1995 *)
  43.  
  44. PROCEDURE DayOfWeek(date : DATE) : CARDINAL;
  45. (*****************)
  46. (*25/12/1995 returns day of the week as a number, ISO (monday = 1, sunday = 7)  verified , tested and OK  valid from 01/01/1583*)
  47.  
  48. PROCEDURE Easter(Year : CARDINAL) : DATE;
  49. (***************)
  50. (* tested and OK *)
  51. (*Easter : Spencer Jones in General Astronomy (pg 73-74) Ed 1922
  52.  * Journal of the British Astronomical Association Vol. 88, pg. 91 (dec 1977)
  53.  * From original dated 1876 Butcher's Eclesiastical Calendar.
  54.  * No exceptions, valid from 1583 *)       
  55.  
  56. PROCEDURE DiffDates(date1, date2 : DATE):LONGINT;
  57. (******************)
  58.  
  59. PROCEDURE AddDays(VAR date:DATE; days : LONGINT);
  60. (****************)
  61.  
  62. PROCEDURE Date2String(date :DATE; VAR Datum : ARRAY OF CHAR);
  63. (********************)
  64.  
  65. END DateFunctions.