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