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# }