IBM Enterprise COBOL是否支持formatted-datetime函数?
IBM Enterprise COBOL 对
FORMATTED-DATETIME 函数的支持说明 所有正式发布的 IBM Enterprise COBOL 版本(含z/OS平台最新的v6.4、v7.1迭代版本)均不直接提供名为 FORMATTED-DATETIME 的内置函数。
原因说明
FORMATTED-DATETIME是 GNU COBOL 为开源生态定制的扩展类内置函数,不属于 COBOL 85、COBOL 2002 等通用 COBOL 标准定义的必备内置能力,IBM Enterprise COBOL 并未兼容该类非标准扩展实现。
等价功能实现方案
如果需要在 IBM Enterprise COBOL 环境下实现格式化输出日期时间的需求,可以通过原生支持的标准能力组合实现,示例逻辑如下:
- 通过
CURRENT-DATE、DATE、TIME等标准内置函数获取原始日期时间数值 - 搭配
STRING语句、编辑字符型(Edited PIC)字段按需求拼接为指定格式
参考代码示例:
IDENTIFICATION DIVISION. PROGRAM-ID. DATETIME-FORMAT-DEMO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-RAW-DATETIME PIC X(20). 01 WS-FORMATTED-DATETIME PIC X(19) VALUE SPACES. PROCEDURE DIVISION. *> 获取原始日期时间 MOVE FUNCTION CURRENT-DATE TO WS-RAW-DATETIME *> 拼接为 YYYY-MM-DD HH:MM:SS 格式 STRING WS-RAW-DATETIME(1:4) "-" WS-RAW-DATETIME(5:2) "-" WS-RAW-DATETIME(7:2) " " WS-RAW-DATETIME(9:2) ":" WS-RAW-DATETIME(11:2) ":" WS-RAW-DATETIME(13:2) INTO WS-FORMATTED-DATETIME DISPLAY WS-FORMATTED-DATETIME STOP RUN.
内容的提问来源于stack exchange,提问作者NoChance
相关产品推荐
相关产品推荐

