IDENTIFICATION DIVISION. PROGRAM-ID. DateToUnixTimestamp. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-DATE PIC X(8) VALUE '20240828'. 01 WS-TIME PIC X(6) VALUE '123456'. 01 UNIX-TIMESTAMP PIC 9(10). 01 EPOCH-DATE PIC X(8) VALUE '19700101'. 01 DAYS-SINCE-EPOCH PIC 9(10). 01 SECONDS-SINCE-MIDNIGHT PIC 9(10). PROCEDURE DIVISION. COMPUTE DAYS-SINCE-EPOCH = FUNCTION INTEGER-OF-DATE(WS-DATE) - FUNCTION INTEGER-OF-DATE(EPOCH-DATE). COMPUTE SECONDS-SINCE-MIDNIGHT = (FUNCTION NUMVAL(WS-TIME(1:2)) * 3600) + (FUNCTION NUMVAL(WS-TIME(3:4)) * 60) + FUNCTION NUMVAL(WS-TIME(5:6)). COMPUTE UNIX-TIMESTAMP = (DAYS-SINCE-EPOCH * 86400) + SECONDS-SINCE-MIDNIGHT. DISPLAY 'Unix Timestamp: ' UNIX-TIMESTAMP. STOP RUN.
FUNCTION INTEGER-OF-DATE
FUNCTION CURRENT-DATE
FUNCTION DATE-OF-INTEGER
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)