日付/時刻の演算

概要

RPGでは日付や時刻に関する演算命令が用意されています。
日付や時刻の形式は使用するデータベース・ファイル内で記述されますが、RPGプログラム内で日付や時刻の変数として使用するときに定義します。

タイム・スタンプのデータタイプ

1)日付の形式はDATFMTキーワードによって決まります。
日付フィールド(変数)でDATFMTを指定しないと、*ISO(国際標準)の形式がとられます。

2)時刻の形式はTIMFMTキーワードによって決まります。
時刻フィールド(変数)でTIMFMTを指定しないと、*ISO(国際標準)の形式がとられます。

3)タイム・スタンプの形式は事前に決められた26桁の形式です。
「-年-月-日-時.分.秒.マイクロ秒」の形式で表されます。

日付、時刻のデータ・タイプ

日付のデータ・タイプ(DATFMT)

[値] [説明] [形式] [長さ] [使用例]
*MDY 月/日/年 MM/DD/YY 08/27/18
*DMY 日/月/年 DD/MM/YY 27/08/18
*YMD 年/月/日 YY/MM/DD 18/08/27
*JUL 通年 YY/DDD 18/238
*ISO 国際標準 YYYY-MM-DD 10 2018-08-27
*USA USA標準 MM/DD/YYYY 10 08/27/2018
*EUR ヨーロッパ標準 DD.MM.YYYY 10 27.08.2018
*JIS 日本工業規格 YYYY-MM-DD 10 2018-08-27

時刻のデータ・タイプ(TIMFMT)

[値] [説明] [形式] [長さ] [使用例]
*HMS 時.分.秒 HH:MM:SS 14:00:00
*ISO 国際標準 HH.MM.SS 14.00.00
*USA USA標準 HH:MM AM 02:00 PM
*EUR ヨーロッパ標準 HH.MM.SS 14.00.00
*JIS 日本工業規格 HH:MM:SS 14:00:00

タイム・スタンプのリテラル

「リテラルとは名前無しの固有情報」のことで、演算仕様書、定義仕様書および主注力仕様書で使用します。
1)日付リテラル
 D’XXXXXX’
 ’XXXXXX’は制御仕様書で指定された有効な日付形式で指定します。
2)時刻リテラル
 T’XXXXXX’
 ’XXXXXX’は制御仕様書で指定された有効な日付形式で指定します。
3)タイム・スタンプ・リテラル
 Z’YYYY-MM-DD-hh.mm.ss.mmmmmm’
 ’年-月-日-時-分-秒-マイクロ秒’で指定します。