2012-11-27 154 views
1

我走在数据库中的日期变量YYYY-MM-DD:HH:分:秒格式,我想在报告YYYY-MM-DD HH以显示它:MIN: SS使用cobol程序。如何做到这一点?显示格式的日期

回答

3

看看内部函数,例如

  • 功能联合DATETIME
  • 功能CURRENT-DATE
  • 功能DATE-OF-INTEGER
  • 功能DATE-TO-YYYYMMDD
  • 功能整数日期
  • 功能LOCALE-DATE
  • 有很多其他的,谷歌的OpenCOBOL常见问题解答,并请参见4.2例子

http://opencobol.add1tocobol.com/#does-opencobol-implement-any-intrinsic-functions

要获取当前时钟,寻找接受日期年月日,接受来自TIME

然后,您可能需要创建一个PICTURE数据子句,让您可以绝对控制日期和时间的格式和显示方式。

我还发现INSPECT更换是一个方便的事情,当你想快速转换冒号空间,或给予

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

我喜欢细致的画面斜线等

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. 

方法,就像Brian Tiffin说的那样,然后你只需用括号将数据逐块移动。

类似于:MOVE MY-DATE(1:4) to MY-YEAR,会将前4个字符移至所需字段。