Skip to content

DBzTech-Technology Dossier

A repository of technical findings.

Menu
  • COBOL
  • DB2
  • SAS
  • JCL
  • Google Cloud
  • AI
Menu
COBOL code snippets showing data manipulation, arithmetic, conditional logic, looping, file processing, and table handling examples

Handling Date Functions in COBOL

Posted on April 4, 2026May 16, 2026 by DBZtech

How to Work with Dates in COBOL

Working with dates is a critical part of COBOL programming, especially in business systems handling transactions, reports, and records. This guide covers COBOL date handling techniques, including ACCEPT statements and intrinsic functions.


Why Date Handling Matters in COBOL

Dates are used everywhere in enterprise applications:

  • Financial transactions
  • Payroll systems
  • Reports and audits
  • Customer records

Incorrect date handling can lead to serious logic errors.


1. Getting Current Date and Time in COBOL

ACCEPT Statement (Basic Method)

01  TODAYS-DATE     PIC 9(6).
ACCEPT TODAYS-DATE FROM DATE.

๐Ÿ‘‰ Returns date in YYMMDD format (not recommended today).


ACCEPT with 4-Digit Year (Improved)

01  TODAYS-DATE     PIC 9(8).
ACCEPT TODAYS-DATE FROM DATE YYYYMMDD.

๐Ÿ‘‰ Returns YYYYMMDD โ€” preferred format.


Getting Current Time

01  TODAYS-TIME     PIC 9(8).
ACCEPT TODAYS-TIME FROM TIME.


2. Breaking Date into Components (Using REDEFINES)

01  TODAYS-DATE         PIC 9(8).
01  TODAYS-DATE-R REDEFINES TODAYS-DATE.
    05 TD-YEAR          PIC 9(4).
    05 TD-MONTH         PIC 9(2).
    05 TD-DAY           PIC 9(2).

ACCEPT TODAYS-DATE FROM DATE YYYYMMDD.

๐Ÿ‘‰ Allows access to year, month, and day separately.


3. Working with Julian Dates

05  CD-JULIAN-DATE        PIC 9(7).
05  CD-JULIAN-DATE-R REDEFINES CD-JULIAN-DATE.
    10 CD-JULIAN-YEAR     PIC 9(4).
    10 CD-JULIAN-DAYS     PIC 9(3).

ACCEPT CD-JULIAN-DATE FROM DAY YYYYDDD.

๐Ÿ‘‰ Format: YYYYDDD (Day number in year)


4. Getting Day of Week

05  DAY-NUM    PIC 9(1).
05  DAY-NAME   PIC X(9).

ACCEPT DAY-NUM FROM DAY-OF-WEEK.

EVALUATE DAY-NUM
   WHEN 1 MOVE "MONDAY"    TO DAY-NAME
   WHEN 2 MOVE "TUESDAY"   TO DAY-NAME
   WHEN 3 MOVE "WEDNESDAY" TO DAY-NAME
   WHEN 4 MOVE "THURSDAY"  TO DAY-NAME
   WHEN 5 MOVE "FRIDAY"    TO DAY-NAME
   WHEN 6 MOVE "SATURDAY"  TO DAY-NAME
   WHEN 7 MOVE "SUNDAY"    TO DAY-NAME
END-EVALUATE.


5. COBOL Date Functions (Modern Approach)

Using CURRENT-DATE

01 CURRENT-DATE-AND-TIME.
   05 CD-YEAR     PIC 9(4).
   05 CD-MONTH    PIC 9(2).
   05 CD-DAY      PIC 9(2).
   05 CD-HOURS    PIC 9(2).
   05 CD-MINUTES  PIC 9(2).

MOVE FUNCTION CURRENT-DATE TO CURRENT-DATE-AND-TIME.

๐Ÿ‘‰ Best way to get accurate date & time


Calculate Days Between Two Dates

COMPUTE ELAPSED-DAYS =
   FUNCTION INTEGER-OF-DATE (DATE-1)
 - FUNCTION INTEGER-OF-DATE (DATE-2).

๐Ÿ‘‰ Simple and highly reliable


As many organizations still rely on COBOL-based systems, strong date-handling practices remain highly relevant. By applying the techniques outlined in this guide, you can confidently build and maintain applications that stand the test of time.

©2026 DBzTech-Technology Dossier | Design: Newspaperly WordPress Theme