home *** CD-ROM | disk | FTP | other *** search
-
- FUNCTION WEEKDAY#(M,D,Y : INTEGER):INTEGER;
-
- { COMMENT :
- GIVEN THE DATE , CALCULATES THE DAY OF THE WEEK AS A NUMBER
- BETWEEN 0 AND 6 (INCLUSIVE) , DAY 0 BEING SUNDAY.SHOULD WORK FOR
- ALL DATES SINCE 2/28/00 A.D..
- NOTE THAT THE EXTERNAL PROCEDURE ZELLER IS USED : THIS MUST
- BE DECLARED AT A HIGHER LEVEL , AS MUST BE THE VARIABLE ZELLER#
- AND ITS TYPE " COMPOSITE". }
-
- CONST
- K_MOD_7 = 2;
- VAR
- K_DAYS,
- U_DAYS : INTEGER;
-
- BEGIN
- ZELLER(M,D,Y,ZELLER#);
- K_DAYS := ZELLER#.KILO_DAYS * K_MOD_7;
- U_DAYS := ZELLER#.UNIT_DAYS MOD 7;
- WEEKDAY# := (U_DAYS + K_DAYS) MOD 7;
- END; { OF : FUNCTION WEEKDAY# }
-