1

データベースの日付変数をYYYY-MM-DD:hh:min:ss形式で取得しています。レポートYYYY-MM-DD HH:MIN:SSに cobol プログラムを使用して表示したいのですが、どうすればよいですか?

4

2 に答える 2

4

たとえば、組み込み関数を見てください。

  • FUNCTION COMBINED-DATETIME
  • 関数現在の日付
  • 関数DATE-OF-INTEGER
  • FUNCTION DATE-TO-YYYYMMDD
  • 関数 INTEGER-OF-DATE
  • 関数のロケール-日付
  • 他にもたくさんあります。Google で OpenCOBOL FAQ を参照し、例についてはセクション 4.2 を参照してください。

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

現在のクロックを取得するには、ACCEPT FROM DATE YYYYMMDD, ACCEPT FROM TIME を調べます。

次に、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
于 2012-11-30T02:25:15.370 に答える
0

Brian Tiffin が言ったように、私は詳細な PICTURE アプローチが好きです。その後、括弧を使用してデータを 1 つずつ移動するだけです。

のようなもの:MOVE MY-DATE(1:4) to MY-YEARは、最初の 4 文字を目的のフィールドに移動します。

于 2013-08-08T16:00:07.927 に答える