使用此欄位層次關鍵字,可指定日期欄位的格式。此關鍵字僅對日期欄位(資料類型 L)有效。
此關鍵字的格式為:
DATFMT(date-format)
date-format 參數會指定日期格式。下表說明有效的日期格式及其預設的分隔字元值。
格式名稱 | 日期格式參數 | 日期格式及分隔字元 | 欄位長度 | 範例 |
---|---|---|---|---|
工作預設值 | *JOB | |||
月/日/年 | *MDY | mm/dd/yy | 8 | 06/21/90 |
日/月/年 | *DMY | dd/mm/yy | 8 | 21/06/90 |
年/月/日 | *YMD | yy/mm/dd | 8 | 90/06/21 |
羅馬曆 | *JUL | yy/ddd | 6 | 90/172 |
國際標準組織 | *ISO | yyyy-mm-dd | 10 | 1990-06-21 |
IBM® USA 標準 | *USA | mm/dd/yyyy | 10 | 06/21/1990 |
IBM 歐洲標準 | *EUR | dd.mm.yyyy | 10 | 21.06.1990 |
日本工業標準基督紀元 | *JIS | yyyy-mm-dd | 10 | 1990-06-21 |
如果您未指定 DATFMT 關鍵字,則預設值為 *ISO。
如果指定 *JOB,則高階語言及應用程式會將格式處理為 *ISO。 輸出時,系統會將格式轉換為「日期格式工作定義屬性」指定的格式。輸入時,系統會將格式轉換為 *ISO 後,再將控制傳遞至應用程式。 在具有 DATFMT(*JOB) 之「日期」欄位的顯示螢幕上,始終會保留 10 個空格, 即使 *MDY、*DMY 及 *YMD 僅顯示 8 個字元,*JUL 僅顯示 6 個字元。
DFT、DFTVAL 及 MAPVAL 關鍵字值的格式,必須與 DATFMT 關鍵字指定的格式相符。 如果 DATFMT 關鍵字指定 *JOB,或依預設將 DATFMT 關鍵字設為 *ISO, 則這些值的格式必須是 *ISO。
如果指定 *ISO、*USA、*EUR 或 *JIS 值,則無法指定 DAT 關鍵字。 這些日期格式具有固定的分隔字元。
DATFMT 關鍵字會置換日期欄位的工作屬性。它不會變更系統預設值。
高階語言及應用程式要負責根據為 DATFMT 關鍵字指定的格式,來格式化日期欄位, 並使用在 DATSEP 關鍵字上指定的分隔字元。系統不會在輸出時,格式化欄位。 系統會根據 DATFMT 關鍵字指定的格式及 DATSEP 關鍵字指定的分隔字元, 在輸入時驗證日期欄位(L 資料類型)。
選項指示器對此關鍵字無效,但可以對指定此關鍵字的欄位,使用選項指示器設定其條件。
下列範例顯示如何指定 DATFMT 關鍵字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A
00020A R RECORD
00030A DATFLD1 L B 5 2DATFMT(*JUL)
00040A DATFLD2 L B 5 22DATFMT(*EUR)
00050A DATFLD3 L B 5 42DATFMT(*JOB)
A
如果要顯示的日期是 June 21, 1990,「工作定義屬性」 中定義的日期格式是 *MDY,並且「工作定義屬性」中定義的日期分隔字元是斜線 (/), 則寫入 RECORD 時,會顯示下列值。
DATFLD1 90/172
DATFLD2 21.06.1990
DATFLD3 06/21/90