最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.07.02

14.38.RPGでの日付形式の一覧

[ Previous ] [ HOME ] [ Upper ] [ Next ]


出典 ILE RPG AS/400 用 解説書 V4: 4.4.59 MOVE(転送)より

  • 日付、時刻またはタイム・スタンプ・データを転送する場合に、転送元または転送先が文字または数値フィールドのいずれかの場合には、演算項目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

&はブランクになります

注:

  1. *JOBRUN は、DATFMT の実行時ジョブ属性が *MDY、*YMD、*DMY または *JUL だけであるために、年の 桁が 2 桁の文字日付または数値日付の場合にのみ有効です。

  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


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送