我在数据库中以 YYYY-MM-DD:hh:min:ss 格式获取日期变量,我想在报告 YYYY-MM-DD HH:MIN中显示它:SS 使用cobol程序。怎么做?
答案 0 :(得分:3)
看看内在函数,例如
http://opencobol.add1tocobol.com/#does-opencobol-implement-any-intrinsic-functions
要获取当前时钟,请查看从日期开始接受YYYYMMDD,接受时间
然后您可能想要创建一个PICTURE数据子句,让您可以绝对控制日期和时间的格式和显示方式。
当你想快速将冒号转换为空格或斜线等时,我也发现INSPECT REPLACING是一个方便的东西。
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
答案 1 :(得分:0)
我喜欢详细的PICTURE方法,就像Brian Tiffin所说,然后你只需要用括号移动数据。
类似于:MOVE MY-DATE(1:4) to MY-YEAR
,会将前4个字符移动到所需的字段。