IDENTIFICATION DIVISION. PROGRAM-ID. ConvertUnixTimestamp. DATA DIVISION. WORKING-STORAGE SECTION. 01 UNIX-TIMESTAMP PIC 9(10) VALUE 1693997245. 01 EPOCH-DATE PIC X(8) VALUE '19700101'. 01 SECONDS-PER-DAY PIC 9(10) VALUE 86400. 01 DAYS-SINCE-EPOCH PIC 9(10). 01 REMAINDER-SECONDS PIC 9(10). 01 FINAL-DATE PIC X(10). 01 FINAL-TIME PIC X(8). PROCEDURE DIVISION. COMPUTE DAYS-SINCE-EPOCH = UNIX-TIMESTAMP / SECONDS-PER-DAY. COMPUTE REMAINDER-SECONDS = UNIX-TIMESTAMP MOD SECONDS-PER-DAY. ADD DAYS-SINCE-EPOCH TO FUNCTION INTEGER-OF-DATE(EPOCH-DATE) GIVING FINAL-DATE. MOVE FUNCTION DATE-OF-INTEGER(FINAL-DATE) TO FINAL-DATE. MOVE FUNCTION TIME-OF-DAY(SECONDS-PER-DAY * REMAINDER-SECONDS) TO FINAL-TIME. DISPLAY 'Converted Date: ' FINAL-DATE ' ' FINAL-TIME. STOP RUN.
FUNCTION INTEGER-OF-DATE
ADD DAYS-SINCE-EPOCH
FUNCTION DATE-OF-INTEGER
FUNCTION TIME-OF-DAY
FUNCTION CURRENT-DATE
FUNCTION DATE-OF-INTEGER(738120)
FUNCTION INTEGER-OF-DATE(20240828)
FUNCTION DAY-OF-WEEK
FUNCTION DAY-OF-WEEK(20240828)
FUNCTION YEAR-TO-YYYY
FUNCTION YEAR-TO-YYYY(24)
FUNCTION INTEGER-OF-DAY
FUNCTION INTEGER-OF-DAY(20240828)
FUNCTION DAY-OF-INTEGER
FUNCTION DAY-OF-INTEGER(738120)