将日期DD-MMM-YYYY转换为cobol中的YYYYMMDD



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

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

我尝试过的:

  • 使用unstring并将JAN转换为01,将FEB转化为02,依此类推
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.

最新更新