- Получение текущей даты:
Чтобы получить текущую дату в COBOL, вы можете использовать встроенную функцию под названием «FUNCTION CURRENT-DATE». Эта функция возвращает текущую дату и время, позволяя вам извлечь определенные компоненты, такие как год, месяц и день, для дальнейших манипуляций.
Пример кода:
01 CURRENT-DATE.
05 CD-YEAR PIC 9(4).
05 CD-MONTH PIC 9(2).
05 CD-DAY PIC 9(2).
MOVE FUNCTION CURRENT-DATE TO CURRENT-DATE.
DISPLAY "Current Year: " CD-YEAR.
DISPLAY "Current Month: " CD-MONTH.
DISPLAY "Current Day: " CD-DAY.
- Добавление или вычитание дней.
Чтобы добавить или вычесть определенное количество дней к заданной дате, вы можете использовать встроенные функции COBOL «DATE ADD» или «DATE SUB» соответственно. Эти функции позволяют выполнять арифметические операции с датами.
Пример кода:
01 DATE-TO-BE-MODIFIED.
05 DT-YEAR PIC 9(4).
05 DT-MONTH PIC 9(2).
05 DT-DAY PIC 9(2).
MOVE 20240218 TO DATE-TO-BE-MODIFIED.
DISPLAY "Original Date: " DT-YEAR "-" DT-MONTH "-" DT-DAY.
DATE ADD 10 TO DATE-TO-BE-MODIFIED.
DISPLAY "Modified Date (After Adding 10 Days): " DT-YEAR "-" DT-MONTH "-" DT-DAY.
DATE SUB 5 FROM DATE-TO-BE-MODIFIED.
DISPLAY "Modified Date (After Subtracting 5 Days): " DT-YEAR "-" DT-MONTH "-" DT-DAY.
- Вычисление разницы между датами.
COBOL предоставляет встроенную функцию «FUNCTION INTEGER-OF-DATE», которая преобразует дату в целочисленный формат. Вычитая одну целую дату из другой, можно определить количество дней между ними.
Пример кода:
01 DATE-1.
05 D1-YEAR PIC 9(4).
05 D1-MONTH PIC 9(2).
05 D1-DAY PIC 9(2).
01 DATE-2.
05 D2-YEAR PIC 9(4).
05 D2-MONTH PIC 9(2).
05 D2-DAY PIC 9(2).
01 DATE-DIFFERENCE PIC 9(3).
MOVE 20240218 TO DATE-1.
MOVE 20240210 TO DATE-2.
COMPUTE DATE-DIFFERENCE = FUNCTION INTEGER-OF-DATE(DATE-1) - FUNCTION INTEGER-OF-DATE(DATE-2).
DISPLAY "Number of Days Between Dates: " DATE-DIFFERENCE.
В этой статье блога мы рассмотрели различные методы манипулирования датами в COBOL — устаревшем языке, который до сих пор используется во многих системах. Мы рассмотрели получение текущей даты, добавление или вычитание дней из заданной даты и вычисление разницы между датами. Применяя эти методы, разработчики могут эффективно работать с датами в COBOL, способствуя модернизации и обслуживанию устаревших систем.