在Mainframe上做开发会经常遇到用PL/I或者COBOL取得当天的日期,对于PL/I,一般的公司都采取如下的做法:
DCL PIC_TODAY PIC'999999' INIT(0);
PIC_TODAY = DATE;
IF SUBSTR(DATE,1,2) > '50'
THEN TODAYS_DATE = 19000000 + PIC_TODAY;
ELSE TODAYS_DATE = 20000000 + PIC_TODAY;
我所在的公司也是这种写法来获得YYYYMMDD
格式的当日日期,很明显这种写法代码的寿命只有几十年了,相比之下COBOL获得YYYYMMDD
格式的当日日期就显得方便得多,一个ACCEPT
语句即可:
WORKING-STORAGE SECTION.
01 TODAYS-DATE PIC 9(08).
.
.
.
PROCEDURE DIVISION.
ACCEPT TODAYS-DATE FROM DATE YYYYMMDD
Comments !