System Date and Time
IDENTIFICATION DIVISION.
PROGRAM-ID. FORMAT-DATE-EXAMPLE.
AUTHOR. BILL ROGERS.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 SYSTEM-WEEKDAY PIC 9.
01 SYSTEM-DATE.
02 SYSTEM-YEAR PIC 99.
02 SYSTEM-MONTH PIC 99.
02 SYSTEM-DAY PIC 99.
01 SYSTEM-TIME.
02 SYSTEM-HOUR PIC 99.
02 SYSTEM-MINUTE PIC 99.
02 SYSTEM-SECOND PIC 99.
02 SYSTEM-HUNDREDTH PIC 99.
01 HEADER-LINE.
02 HEADER-WEEKDAY PIC X(3).
02 PIC X VALUE SPACE.
02 HEADER-MONTH PIC X(3).
02 PIC X VALUE SPACE.
02 HEADER-DAY PIC Z9.
02 PIC X VALUE SPACE.
02 HEADER-HOUR PIC Z9.
02 PIC X VALUE ':'.
02 HEADER-MINUTE PIC 99.
02 PIC X VALUE SPACE.
02 HEADER-AM-PM PIC X(2).
PROCEDURE DIVISION.
MAINLINE.
ACCEPT SYSTEM-WEEKDAY FROM DAY-OF-WEEK.
ACCEPT SYSTEM-DATE FROM DATE.
ACCEPT SYSTEM-TIME FROM TIME.
EVALUATE SYSTEM-WEEKDAY
WHEN 1 MOVE 'Mon' TO HEADER-WEEKDAY
WHEN 2 MOVE 'Tue' TO HEADER-WEEKDAY
WHEN 3 MOVE 'Wed' TO HEADER-WEEKDAY
WHEN 4 MOVE 'Thu' TO HEADER-WEEKDAY
WHEN 5 MOVE 'Fri' TO HEADER-WEEKDAY
WHEN 6 MOVE 'Sat' TO HEADER-WEEKDAY
WHEN 7 MOVE 'Sun' TO HEADER-WEEKDAY
END-EVALUATE.
EVALUATE SYSTEM-MONTH
WHEN 1 MOVE 'Jan' TO HEADER-MONTH
WHEN 2 MOVE 'Feb' TO HEADER-MONTH
WHEN 3 MOVE 'Mar' TO HEADER-MONTH
WHEN 4 MOVE 'Apr' TO HEADER-MONTH
WHEN 5 MOVE 'May' TO HEADER-MONTH
WHEN 6 MOVE 'Jun' TO HEADER-MONTH
WHEN 7 MOVE 'Jul' TO HEADER-MONTH
WHEN 8 MOVE 'Aug' TO HEADER-MONTH
WHEN 9 MOVE 'Sep' TO HEADER-MONTH
WHEN 10 MOVE 'Oct' TO HEADER-MONTH
WHEN 11 MOVE 'Nov' TO HEADER-MONTH
WHEN 12 MOVE 'Dec' TO HEADER-MONTH
END-EVALUATE.
MOVE SYSTEM-DAY TO HEADER-DAY.
IF SYSTEM-HOUR IS LESS THAN 12
MOVE 'AM' TO HEADER-AM-PM
ELSE
MOVE 'PM' TO HEADER-AM-PM
IF SYSTEM-HOUR IS NOT LESS THAN 13
SUBTRACT 12 FROM SYSTEM-HOUR
END-IF
END-IF.
MOVE SYSTEM-HOUR TO HEADER-HOUR.
MOVE SYSTEM-MINUTE TO HEADER-MINUTE.
DISPLAY HEADER-LINE.
STOP RUN.
Cobol Home