首页 > 解决方案 > 将日期 DD-MMM-YYYY 转换为 cobol 中的 YYYYMMDD

问题描述

我正在尝试将日期格式从COBOLDD-MON-YYYY更改为YYYY/MM/DD,我想知道这是否可能。

我一直在搜索,但找不到任何实用程序或日期功能来更改它。

我试过的:

标签: cobol

解决方案


COBOL 受到缺乏有用的库和实用程序的困扰。大多数 COBOL 程序员只是重新发明轮子并自己编写代码。

像(未经测试的代码!):----

01 OLD-DATE.
   05 OLD-DD    PIC XX.
   05 FILLER    PIC X.
   05 OLD-MON   PIC XXX.
   05 FILLER    PIC X.
   05 OLD-YEAR  PIC XXXX.
01 NEW-DATE.
   05 NEW-YEAR  PIC XXXX.
   05 FIRST-SLASH PIC X VALUE '/'.
   05 NEW-MM    PIC 99.
   05 SECOND-SLASH PIC X VALUE '/'.
   05 NEW-DD    PIC XX.
01 M-TAB.
   M      PIC XXX OCCURS 12.
01 M-VALS REDEFINES M-TAB VALUE 'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'.
01 M-X    PIC S9(8) COMP VALUE 0.

.......
  MOVE OLD-YEAR TO NEW-YEAR.
  PERFORM VARYING M-X FROM 1 TO 12
    IF OLD-MON = M(M-X)
        MOVE M-X TO NEW-MM
    END IF
 END PERFORM.
 MOVE OLD-DD TO NEW-DD.

推荐阅读