在COBOL程序中显示格式化日期

在COBOL程序中显示格式化日期,cobol,cobol85,Cobol,Cobol85,我正在以YYYY-MM-DD:hh:min:ss格式在数据库中获取一个日期变量,并希望使用cobol程序在YYYY-MM-DD报告中显示它。如何执行此操作?例如,查看内部函数 函数组合日期时间 函数当前日期 函数日期整数 功能日期至YYYYMMDD 最新整数函数 函数LOCALE-DATE 还有很多其他的例子,谷歌提供OpenCOBOL常见问题解答,参见第4.2节 要获取当前时钟,请查看从日期YYYYMMDD接受,从时间接受 然后,您可能需要创建一个PICTURE data子句,让您完全控制日期

我正在以YYYY-MM-DD:hh:min:ss格式在数据库中获取一个日期变量,并希望使用cobol程序在YYYY-MM-DD报告中显示它。如何执行此操作?

例如,查看内部函数

函数组合日期时间 函数当前日期 函数日期整数 功能日期至YYYYMMDD 最新整数函数 函数LOCALE-DATE 还有很多其他的例子,谷歌提供OpenCOBOL常见问题解答,参见第4.2节 要获取当前时钟,请查看从日期YYYYMMDD接受,从时间接受

然后,您可能需要创建一个PICTURE data子句,让您完全控制日期和时间的格式和显示方式

我还发现,当您想要快速将冒号转换为空格或斜杠等时,检查替换是一件非常方便的事情

    identification division.
    program-id. inspecting.

    data division.
    working-storage section.
    01  ORIGINAL            pic XXXX/XX/XXBXX/XX/XXXXXXX/XX.
    01  DATEREC             pic XXXX/XX/XXBXX/XX/XXXXXXX/XX.

    procedure division.

    move function when-compiled to DATEREC ORIGINAL

    INSPECT DATEREC REPLACING ALL "/" BY ":" AFTER INITIAL SPACE

    display
        "Intrinsic function WHEN-COMPILED " ORIGINAL
    end-display
    display
        " after INSPECT REPLACING         " DATEREC
    end-display

    goback.
    end program inspecting.
给予

Intrinsic function WHEN-COMPILED 2010/03/25 23/05/0900-04/00
 after INSPECT REPLACING         2010/03/25 23:05:0900-04:00

例如,看看内在函数

函数组合日期时间 函数当前日期 函数日期整数 功能日期至YYYYMMDD 最新整数函数 函数LOCALE-DATE 还有很多其他的例子,谷歌提供OpenCOBOL常见问题解答,参见第4.2节 要获取当前时钟,请查看从日期YYYYMMDD接受,从时间接受

然后,您可能需要创建一个PICTURE data子句,让您完全控制日期和时间的格式和显示方式

我还发现,当您想要快速将冒号转换为空格或斜杠等时,检查替换是一件非常方便的事情

    identification division.
    program-id. inspecting.

    data division.
    working-storage section.
    01  ORIGINAL            pic XXXX/XX/XXBXX/XX/XXXXXXX/XX.
    01  DATEREC             pic XXXX/XX/XXBXX/XX/XXXXXXX/XX.

    procedure division.

    move function when-compiled to DATEREC ORIGINAL

    INSPECT DATEREC REPLACING ALL "/" BY ":" AFTER INITIAL SPACE

    display
        "Intrinsic function WHEN-COMPILED " ORIGINAL
    end-display
    display
        " after INSPECT REPLACING         " DATEREC
    end-display

    goback.
    end program inspecting.
给予

Intrinsic function WHEN-COMPILED 2010/03/25 23/05/0900-04/00
 after INSPECT REPLACING         2010/03/25 23:05:0900-04:00

我喜欢像Brian Tiffin所说的详细图片方法,然后使用括号逐段移动数据


类似于:将MY-DATE1:4移动到MY-YEAR,将前4个字符移动到所需字段。

我喜欢Brian Tiffin所说的详细图片方法,然后使用括号逐段移动数据

类似于:将MY-DATE1:4移动到MY-YEAR,将前4个字符移动到所需字段