- 日付、時刻またはタイム・スタンプ・データを転送する場合に、転送元または転送先が文字または数値フィールドのいずれかの場合には、演算項目1にこの命令の転送元または転送先の文字または数値フィールドに対応する日付または時刻の形式が入ります。
- 日付、時刻またはタイム・スタンプ・データを転送する場合に、転送元または転送先が文字または数値フィールドのいずれかでない限り、演算項目
1 はブランクでなければなりません
日付データ・タイプの RPG 定義日付形式および区切り記号
- |
形式名 |
記述 |
形式
(省略時の
区切り記号)
|
有効な
区切り記号
|
長さ |
例 |
2 桁の年形式 |
*MDY |
月/日/年 |
mm/dd/yy |
/ - . , '&' |
8 |
01/15/96 |
*DMY |
日/月/年 |
dd/mm/yy |
/ - . , '&' |
8 |
15/01/9 |
*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 米国標準 |
mm/dd/yyyy |
/ |
10 |
01/15/199 |
*EUR |
IBM 欧州標準 |
dd.mm.yyyy |
. |
10 |
15.01.199 |
*JIS |
日本工業規格西暦 |
yyyy-mm-dd |
- |
10 |
1996-01-15 |
&はブランクになります
すべての 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 米国標準 |
01/01/0001 |
12/31/9999 |
01/01/0001 |
*EUR |
IBM 欧州標準 |
01.01.0001 |
31.12.9999 |
01.01.0001 |
*JIS |
日本工業規格西暦 |
0001-01-01 |
9999-12-31 |
0001-01-01 |
&はブランクになります
MOVE、MOVEL または TEST 命令の演算項目 1
に使用することができる、 有効な外部定義日付形式
- |
形式名 |
記述 |
形式(省略時の
区切り記号)
|
有効な区切り記号
|
長さ |
例 |
2 桁の年形式 |
*JOBRUN(1) |
実行時に DATFMT、または
DATSEP ジョブ値から判別されます。 |
3 桁の年形式(2) |
*CYMD |
世紀 年/月/日 |
cyy/mm/dd |
/ - . , '&' |
9 |
101/04/25 |
*CMDY |
世紀 月/日/年 |
cmm/dd/yy |
/ - . , '&' |
9 |
104/25/0 |
*CDMY |
世紀 日/月/年 |
cdd/mm/yy |
/ - . , '&' |
9 |
125/04/01 |
4 桁の年形式 |
*LONGJUL |
長形式のユリウス暦 |
yyyy/ddd |
/ - . , '&' |
8 |
2001/115 |
&はブランクになります
注:
-
*JOBRUN は、DATFMT の実行時ジョブ属性が *MDY、*YMD、*DMY
または *JUL だけであるために、年の 桁が 2
桁の文字日付または数値日付の場合にのみ有効です。
-
世紀の文字 'c' の有効値は次のとおりです。
'c' |
年 |
0 |
1900-1999 |
1 |
2000-2099 |
. |
. |
. |
. |
. |
. |
9 |
2800-2899 |
区切り記号
MOVE、MOVEL または TEST
命令で日付形式をコーディングする場合は、文字フィー
ルドには区切り記号は任意選択です。
区切り記号がないことを指示するには、そ
の形式の後にゼロを付けます。
日付時刻フィールドへの文字フィールドの転送. 演算項目 1 は演算項目 2 の指定の形式を示します。
演算項目 1 の指定
|
演算項目 2
(文字)
|
結果フィールド |
値 |
DTZ タイプ |
*MDY-
|
11-19-75
|
75/323
|
D(*JUL)
|
*JUL
|
92/114
|
23/04/92
|
D(*DMY)
|
*YMD
|
14/01/28
|
01/28/2014
|
D(*USA)
|
*YMD0
|
140128
|
01/28/2014
|
D(*USA)
|
*USA
|
12/31/9999
|
31.12.9999
|
D(*EUR)
|
*ISO
|
2036-05-21
|
21/05/36
|
D(*DMY)
|
*JUL
|
45/333
|
11/29/1945
|
D(*USA)
|
*MDY/
|
03/05/33
|
03.05.33
|
D(*MDY.)
|
*CYMD&
|
121 07 08
|
08.07.2021
|
D(*EUR)
|
*CYMD0
|
1210708
|
07,08,21
|
D(*MDY)
|
*CMDY.
|
107.08.21
|
21-07-08
|
D(*YMD-)
|
*CDMY0
|
1080721
|
07/08/2021
|
D(*USA)
|
*LONGJUL-
|
2021-189
|
08/07/2021
|
D(*EUR)
|
*HMS&
|
23 12 56
|
23.12.56
|
T(*ISO)
|
*USA
|
1:00 PM
|
13.00.00
|
T(*EUR)
|
*EUR
|
11.10.07
|
11:10:07
|
T(*JIS)
|
*JIS
|
14:16:18
|
14.16.18
|
T(*HMS.)
|
*ISO
|
24.00.00
|
12:00 AM
|
T(*USA)
|
ブランク
|
1991-09-14-13.12.56.123456
|
1991-09-14-13.12.56.123456
|
Z(*ISO)
|
*ISO
|
1991-09-14-13.12.56.123456
|
1991-09-14-13.12.56.123456
|
Z(*ISO)
|
日付時刻フィールドへの数値フィールドの転送 1. 演算項目1は演算項目2の指定の形式を示します。
演算項目1
の指定
|
演算項目2
(数値)
|
結果フィールド
|
値
|
DTZ
タイプ
|
*MDY
|
111975
|
75/323
|
D(*JUL)
|
*JUL
|
92114
|
23/04/92
|
D(*DMY)
|
*YMD
|
140128
|
01/28/2014
|
D(*USA)
|
*USA(2)
|
12319999
|
31.12.9999
|
D(*EUR)
|
*ISO
|
20360521
|
21/05/36
|
D(*DMY)
|
*JUL
|
45333
|
11/29/1945
|
D(*USA)
|
*MDY
|
030533
|
03.05.33
|
D(*MDY.)
|
*CYMD
|
1210708
|
08.07.2021
|
D(*EUR)
|
*CMDY
|
1070821
|
21-07-08
|
D(*YMD-)
|
*CDMY
|
1080721
|
07/08/2021
|
D(*USA)
|
*LONGJUL
|
2021189
|
08/07/2021
|
D(*EUR)
|
*USA
|
*DATE (092195)(3)
|
1995-09-21
|
D(*JIS)
|
ブランク
|
*DATE (092195)(3)
|
1995-09-21
|
D(*JIS)
|
*MDY
|
UDATE (092195)(3)
|
21.09.1995
|
D(*EUR)
|
*HMS
|
231256
|
23.12.56
|
T(*ISO)
|
*EUR
|
111007
|
11:10:07
|
T(*JIS)
|
*JIS
|
141618
|
14.16.18
|
T(*HMS.)
|
*ISO
|
240000
|
12:00 AM
|
T(*USA)
|
ブランク(4)
|
19910914131256123456
|
1991-09-14-13.12.56.123456
|
Z(*ISO)
|
注:
1. 区切り記号のゼロ (0) は、演算項目1で、日付、時刻、またはタイム・スタンプ・フィールドと数値クラスの間の転送には 使用することはできません。
2. 時刻の形式 *USA は、時刻と数値クラスの間の転送には使用することができません。
3. *DATE および UDATE の場合には、ジョブ記述のジョブ日付は *MDY 形式で092195 が入っているとみなされます。演算項目1 は、任意選択であり、正しい形式に省略時解釈されます。 演算項目2が *DATE で、演算項目1がコーディングされている場 合、演算項目1は4桁の年の日付の形式でなければなりません。 演算項目2が UDATE で、演算項目1がコーディングされて いる場合、演算項目1は2桁の年の日付の形式でなければなりません。
4. タイム・スタンプ・フィールドの転送の場合、演算項目1は任意選択です。演算項目1は、コーディングされる場合、*ISO または *ISO0 でなければなりません。
文字フィールドへの日付/時刻フィールドの転送
演算項目1 の指定
|
演算項目2
|
結果フィールド (文字)
|
値
|
DTZ タイプ
|
*JUL
|
11-19-75
|
D(*MDY-)
|
75/323
|
*DMY-
|
92/114
|
D(*JUL)
|
23-04-92
|
*USA
|
14/01/28
|
D(*YMD)
|
01/28/2014
|
*EUR
|
12/31/9999
|
D(*USA)
|
31.12.9999
|
*DMY
|
2036-05-21
|
D(*ISO)
|
21,05,36
|
*USA
|
45/333
|
D(*JUL)
|
11/29/1945
|
*USA0
|
45/333
|
D(*JUL)
|
11291945
|
*MDY&
|
03/05/33
|
D(*MDY)
|
03 05 33
|
*CYMD
|
03 07 08
|
D(*MDY&);
|
108,03,07
|
*CYMD0
|
21/07/08
|
D(*DMY)
|
1080721
|
*CMDY
|
21-07-08
|
D(*YMD-)
|
107/08/21
|
*CDMY-
|
07/08/2021
|
D(*USA)
|
108-07-21
|
*LONGJUL&
|
08/07/2021
|
D(*EUR)
|
2021 189
|
*ISO
|
23 12 56
|
T(*HMS&);
|
23.12.56
|
*EUR
|
11:00 AM
|
T(*USA)
|
11.00.00
|
*JIS
|
11.10.07
|
T(*EUR)
|
11:10:07
|
*HMS
|
14:16:18
|
T(*JIS)
|
14,16,18
|
*USA
|
24.00.00
|
T(*ISO)
|
12:00 AM
|
ブランク
|
2045-10-27-23.34.59.123456
|
Z(*ISO)
|
2045-10-27-23.34.59.123456
|
数値フィールドへの日付時刻フィールドの転送
演算項目1 の指定 |
演算項目2 |
結果フィールド
(数値) |
値 |
DTZ タイプ |
*JUL |
11-19-75 |
D(*MDY-) |
75323 |
*DMY- |
92/114 |
D(*JUL) |
230492 |
*USA |
14/01/28 |
D(*YMD) |
01282014 |
*EUR |
12/31/9999 |
D(*USA) |
31129999 |
*DMY |
2036-05-21 |
D(*ISO) |
210536 |
*USA |
45/333 |
D(*JUL) |
11291945 |
*MDY& |
03/05/33 |
D(*MDY) |
030533 |
*CYMD |
03 07 08 |
D(*MDY&); |
1080307 |
*CMDY |
21-07-08 |
D(*YMD-) |
1070821 |
*CDMY- |
07/08/2021 |
D(*USA) |
1080721 |
*LONGJUL& |
08/07/2021 |
D(*EUR) |
2021189 |
*ISO |
23 12 56 |
T(*HMS&); |
231256 |
*EUR |
11:00 AM |
T(*USA) |
110000 |
*JIS |
11.10.07 |
T(*EUR) |
111007 |
*HMS |
14:16:18 |
T(*JIS) |
141618 |
*ISO |
2045-10-27-23.34.59.123456 |
Z(*ISO) |
20451027233459123456 |
日付時刻フィールドへの日付時刻フィールドの転送
. タイム・スタンプの初期値が1985-12-03-14.23.34.123456 である とします。
演算項目1 |
演算項目2 |
結果フィールド |
値 |
DTZタイプ |
値 |
DTZタイプ |
N/A |
1986-06-24 |
D(*ISO) |
86/06/24 |
D(*YMD) |
N/A |
23 07 12 |
D(*DMY&); |
23.07.2012 |
D(*EUR) |
N/A |
11:53 PM |
T(USA) |
23.53.00 |
T(*EUR) |
N/A |
19.59.59 |
T(*HMS.) |
19:59:59 |
T(*JIS) |
N/A |
1985-12-03-14.23.34.123456 |
Z(*ISO.) |
1985-12-03-14.23.34.123456 |
Z(*ISO) |
N/A |
75.06.30 |
D(*YMD.) |
1975-06-30-14.23.34.123456 |
Z(*ISO) |
N/A |
09/23/2234 |
D(*USA) |
2234-09-23-14.23.34.123456 |
Z(*ISO) |
N/A |
18,45,59 |
T(*HMS) |
1985-12-03-18.45.59.000000 |
Z(*ISO) |
N/A |
2:00 PM |
T(*USA) |
1985-12-03-14.00.00.000000 |
Z(*ISO) |
N/A |
1985-12-03-14.23.34.123456 |
Z(*ISO.) |
12/03/85 |
D(*MDY) |
N/A |
1985-12-03-14.23.34.123456 |
Z(*ISO.) |
12/03/1985 |
D(*USA) |
N/A |
1985-12-03-14.23.34.123456 |
Z(*ISO.) |
14:23:34 |
T(*HMS) |
N/A |
1985-12-03-14.23.34.123456 |
Z(*ISO.) |
02:23 PM |
T(*USA) |
文字フィールドへの日付フィールドの転送 結果のフィールドが演算項目 2 より大きいです。演算項目 1 に *ISO が入っていて、結果の
フィールドが次のように定義されているとします。
D Result_Fld 20A INZ('ABCDEFGHIJabcdefghij')
演算 コード |
演算項目2 |
(転送命令の後の) 結果フィールドの値 |
値 |
DTZ タイプ |
MOVE |
11 19 75 |
D(*MDY&); |
'ABCDEFGHIJ1975-11-19' |
MOVE(P) |
11 19 75 |
D(*MDY&); |
' 1975-11-19' |
MOVEL |
11 19 75 |
D(*MDY&); |
'1975-11-19abcdefghij' |
MOVEL(P) |
11 19 75 |
D(MDY&); |
'1975-11-19 ' |
数値フィールドへの時刻フィールドの転送.
結果のフィールドが演算項目 2 より大きいです。演算項目 1 に *ISO が入っていて、結果のフィールドが次のように定義されているとします。
D Result_Fld 20S INZ(11111111111111111111)
演算 コード |
演算項目2 |
(転送命令の後の) 結果フィールドの値 |
値 |
DTZ タイプ |
MOVE |
9:42 PM |
T(*USA) |
11111111111111214200 |
MOVE(P) |
9:42 PM |
T(*USA) |
00000000000000214200 |
MOVEL |
9:42 PM |
T(*USA) |
21420011111111111111 |
MOVEL(P) |
9:42 PM |
T(*USA) |
21420000000000000000 |
時刻フィールドへの数値フィールドの転送
. 演算項目2が結果のフィールドより大きい。 強調表示されている部分は、演算項目2フィールドの転送される部分を示します。
演算 コード |
演算項目2 |
結果フィールド |
DTZ タイプ |
値 |
MOVE |
11:12:13:14 |
T(*EUR) |
12.13.14 |
MOVEL |
11:12:13:14 |
T(*EUR) |
11.12.13 |
タイム・スタンプ・フィールドへの数値フィールドの転送
. 演算項目2が結果のフィールドより大きい。 強調表示されている部分は、演算項目2フィールドの転送される部分を示します。
演算 コード |
演算項目2 |
結果フィールド |
DTZ タイプ |
値 |
MOVE |
12340618230323123420123456 |
Z(*ISO) |
1823-03-23-12.34.20.123456 |
MOVEL |
12340618230323123420123456 |
Z(*ISO) |
1234-06-18-23.03.23.123420 |
2004-7-1 |