home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol131 / weekday.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1984-04-29  |  613 b   |  24 lines

  1.  
  2. FUNCTION WEEKDAY#(M,D,Y : INTEGER):INTEGER;
  3.  
  4. { COMMENT :
  5.     GIVEN THE DATE , CALCULATES THE DAY OF THE WEEK AS A NUMBER
  6.   BETWEEN 0 AND  6 (INCLUSIVE) , DAY 0 BEING SUNDAY.SHOULD WORK FOR
  7.   ALL DATES SINCE 2/28/00 A.D..
  8.     NOTE THAT THE EXTERNAL PROCEDURE ZELLER IS USED : THIS MUST
  9.   BE DECLARED AT A HIGHER LEVEL , AS MUST BE THE VARIABLE ZELLER# 
  10.   AND ITS TYPE " COMPOSITE".    }
  11.  
  12. CONST
  13.     K_MOD_7        = 2;
  14. VAR
  15.     K_DAYS,
  16.     U_DAYS    : INTEGER;
  17.  
  18. BEGIN
  19.  ZELLER(M,D,Y,ZELLER#);
  20.  K_DAYS        := ZELLER#.KILO_DAYS  * K_MOD_7;
  21.  U_DAYS        := ZELLER#.UNIT_DAYS  MOD 7;
  22.  WEEKDAY#    := (U_DAYS + K_DAYS) MOD 7;
  23. END; { OF : FUNCTION WEEKDAY# }
  24.