日付データ・タイプ
日付フィールドは、事前に決定されたサイズおよび形式を持っています。 これらは定義仕様書で定義することができます。 すべての日付データに先行ゼロおよび後書きゼロが必要です。
比較または割り当てで使用される日付定数または変数は、同じ形式であるか、 または同じ区切り記号が使用されている必要はありません。 また、入力フィールド、出力フィールド、またはキー・フィールドのように入出 力命令に使用される日付は (必要な場合に) 命令に必要な形式に変換されます。
日付変数のデフォルトの内部形式は *ISO です。 このデフォルト内部形式は、制御仕様書キーワード DATFMT によって グローバルにオーバーライドすることができ、/SET 指示および /RESTORE 指示によって一時的に変更することができ、 また、定義仕様書キーワード DATE または DATFMT によって個々に設定することができます。
- 定義仕様書に指定された DATE または DATFMT キーワードから
- /RESTORE 指示で元に戻されていない、DATFMT キーワードを含んでいる最新の /SET 指示から
- 制御仕様書に指定された DATFMT キーワードから
- *ISO
年の桁数 | 年の範囲 |
---|---|
2 (*YMD、*DMY、*MDY、*JUL) | 1940 から 2039 |
3 (*CYMD、*CDMY、*CMDY) | 1900 から 2899 |
4 (*ISO、*USA、*EUR、*JIS、*LONGJUL) | 0001 から 9999 |
表 1 に、日付データの RPG 定義形式とその区切り記号をリストします。
フォーマット名 | 説明 | 形式 (デフォルトの区切り記号) | 有効な区切り記号 | 長さ | 例 |
---|---|---|---|---|---|
2 桁の年形式 | |||||
*MDY | 月/日/年 | mm/dd/yy | / - . , & | 8 | 01/15/96 |
*DMY | 日/月/年 | DD/MM/YY | / - . , & | 8 | 15/01/96 |
*YMD | 年/月/日 | YY/MM/DD | / - . , & | 8 | 96/01/15 |
*JUL | ユリウス | yy/ddd | / - . , & | 6 | 96/015 |
4 桁の年形式 | |||||
*ISO | 国際標準化機構 | yyyy-mm-dd | - | 10 | 1996-01-15 |
*USA | IBM® USA 標準規格 | mm/dd/yyyy | / | 10 | 01/15/1996 |
*EUR | IBM 欧州標準規格 | dd.mm.yyyy | . | 10 | 15.01.1996 |
*JIS | 日本工業規格 (JIS) 西暦 | yyyy-mm-dd | - | 10 | 1996-01-15 |
表 2 に、すべての RPG 定義日付形式の *LOVAL、*HIVAL、およびデフォルト値をリストします。
フォーマット名 | 説明 | *LOVAL | *HIVAL | デフォルトの値 |
---|---|---|---|---|
2 桁の年形式 | ||||
*MDY | 月/日/年 | 01/01/40 | 12/31/39 | 01/01/40 |
*DMY | 日/月/年 | 01/01/40 | 31/12/39 | 01/01/40 |
*YMD | 年/月/日 | 40/01/01 | 39/12/31 | 40/01/01 |
*JUL | ユリウス | 40/001 | 39/365 | 40/001 |
4 桁の年形式 | ||||
*ISO | 国際標準化機構 | 0001-01-01 | 9999-12-31 | 0001-01-01 |
*USA | IBM USA 標準規格 | 01/01/0001 | 12/31/9999 | 01/01/0001 |
*EUR | IBM 欧州標準規格 | 01.01.0001 | 31.12.9999 | 01.01.0001 |
*JIS | 日本工業規格 (JIS) 西暦 | 0001-01-01 | 9999-12-31 | 0001-01-01 |
MOVE、MOVEL、および TEST 命令でのみ使用されるフィールドの場合には、他の 形式もサポートされています。 このサポートは、すでに 3 桁の年形式および 4 桁の 年 *LONGJUL 形式である外部定義値との互換性のために用意されています。 このサポートは、*JOBRUN が指定された場合には、2 桁の年形式にも 適用されます。
*JOBRUN は、それが説明しているフィールドにジョブからの属性があることがわかって いる場合に使用してください。 たとえば、TIME 命令の 12 桁の数値結果は、ジョブ日付形式になります。
表 3 に、MOVE、MOVEL、および TEST 命令の演算項目 1 で使用できる有効な外部定義日付形式をリストします。
フォーマット名 | 説明 | 形式 (デフォルトの区切り記号) | 有効な区切り記号 | 長さ | 例 |
---|---|---|---|---|---|
2 桁の年形式 | |||||
*JOBRUN1 | 実行時に DATFMT、または DATSEP ジョブ値から 判別されます。 | ||||
3 桁の年形式2 | |||||
*CYMD | 世紀 年/月/日 | cyy/mm/dd | / - . , & | 9 | 101/04/25 |
*CMDY | 世紀 月/日/年 | cmm/dd/yy | / - . , & | 9 | 104/25/01 |
*CDMY | 世紀 日/月/年 | cdd/mm/yy | / - . , & | 9 | 125/04/01 |
4 桁の年形式 | |||||
*LONGJUL | 長形式のユリウス暦 | yyyy/ddd | / - . , & | 8 | 2001/115 |
注:
|