時刻データ・タイプ

時刻フィールドは、事前に決定されたサイズおよび形式を持っています。 これらは定義仕様書で定義することができます。 すべての時刻データに先行ゼロおよび後書きゼロが必要です。

比較または割り当てで使用される時刻定数または変数は、同じ形式であるか、 または同じ区切り記号が使用されている必要はありません。 また、入力フィールド、出力フィールド、またはキー・フィールドのように入出 力命令に使用される時刻は (必要な場合に) 命令に必要な形式に変換されます。

変更の始まり 時刻変数のデフォルトの内部形式は *ISO です。 このデフォルト内部形式は、制御仕様書キーワード TIMFMT によって グローバルにオーバーライドすることができ、/SET 指示および /RESTORE 指示によって一時的に変更することができ、 また、定義仕様書キーワード TIME または TIMFMT によって個々に設定することができます。 変更の終わり

時刻フィールドの内部時刻形式および区切り記号を判別する時に使用される順位 は次のとおりです。
  1. 変更の始まり 定義仕様書に指定された TIME または TIMFMT キーワードから 変更の終わり
  2. 変更の始まり /RESTORE 指示で元に戻されていない、TIMFMT キーワードを含んでいる最新の /SET 指示から 変更の終わり
  3. 制御仕様書に指定された TIMFMT キーワードから
  4. *ISO
  5. 変更の始まり /RESTORE 指示で元に戻されていない、TIMFMT キーワードを含んでいる最新の /SET 指示から 変更の終わり
時刻フィールドのコーディング方法の例については、以下の例を参照してください。
表 1 は、サポートされている時刻形式およびその区切り記号 をリストしています。
注: 区切り記号「&」は、区切り記号としてブランクが使用されることを示します。 例えば、TIME(*HMS&) で定義された時刻フィールドの 区切り記号はブランクになります。
表 1. 時刻データ・タイプの時刻形式および区切り記号
RPG 形式名 説明 形式 (デフォルトの区切り記号) 有効な区切り記号 長さ
*HMS 時:分:秒 hh:mm:ss : . , & 8 14:00:00
*ISO 国際標準化機構 hh.mm.ss . 8 14.00.00
*USA IBM® USA 標準規格。 AM および PM を大文字および小文字の任意の組み合わせとすることができます。 hh:mm AM または hh:mm PM : 8 02:00 PM
*EUR IBM 欧州標準規格 hh.mm.ss . 8 14.00.00
*JIS 日本工業規格 (JIS) 西暦 hh:mm:ss : 8 14:00:00
表 2 は、すべての時刻形式の *LOVAL、*HIVAL、およ びデフォルトの値をリストしています。
表 2. 時刻の値
RPG 形式名 説明 *LOVAL *HIVAL デフォルトの値
*HMS 時:分:秒 00:00:00 24:00:00 00:00:00
*ISO 国際標準化機構 00.00.00 24.00.00 00.00.00
*USA IBM USA 標準規格。 AM および PM を大文字および小文字の任意の組み合わせとすることができます。 00:00 AM 12:00 AM 00:00 AM
*EUR IBM 欧州標準規格 00.00.00 24.00.00 00.00.00
*JIS 日本工業規格 (JIS) 西暦 00:00:00 24:00:00 00:00:00