DayOfweek
Publicado por Juan (1 intervención) el 08/08/2001 20:46:56
Necesito saber como hacer un dateofweek(fecha x) en acucobol, porfavor
Valora esta pregunta
0
IDENTIFICATION DIVISION.
PROGRAM-ID. CalcularDiaSemana.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Anio PIC 9(4).
01 Mes PIC 9(2).
01 Dia PIC 9(2).
01 DiaSemana PIC 9(1).
PROCEDURE DIVISION.
ACCEPT Anio FROM DATE YYYYMMDD.
ACCEPT Mes FROM DATE YYYYMMDD.
ACCEPT Dia FROM DATE YYYYMMDD.
COMPUTE DiaSemana = CalculaDiaSemana(Anio, Mes, Dia).
DISPLAY 'El día de la semana es: ' DiaSemana.
STOP RUN.
CalculaDiaSemana SECTION USING Anio Mes Dia RETURNING DiaSemana.
LOCAL-CALLABLE SECTION.
01 A PIC 9(4).
01 M PIC 9(2).
01 D PIC 9(2).
01 K PIC 9(2).
01 J PIC 9(2).
01 Century PIC 9(2).
MOVE Anio TO A.
MOVE Mes TO M.
MOVE Dia TO D.
IF M < 3 THEN
SUBTRACT 1 FROM A
ADD 12 TO M
END-IF.
COMPUTE K = A MOD 100.
COMPUTE J = INT(A / 100).
COMPUTE Century = (13 * (M + 1)) / 5;
COMPUTE DiaSemana = (K + (K / 4) + (J / 4) - (2 * J) + D + Century) MOD 7.
IF DiaSemana = 0 THEN
MOVE 7 TO DiaSemana
END-IF.
ADD 1 TO DiaSemana.
EXIT SECTION.
END PROGRAM CalcularDiaSemana.