%DATE (日付への変換)
%DATE{(expression{:date-format})}
%DATE は式の値を文字、数値、またはタイム・スタンプのデータから、日付タイプに変換します。 変換後の値は変更されないままですが、日付として戻されます。
最初のパラメーターは、変換される対象の値です。 値を指定しない場合、%DATE は現行システム日付を戻します。
2 番目のパラメーターは、文字または数値の入力データの日付の形式です。 入力データの形式にかかわらず、出力は *ISO 形式で戻されます。
使用できる入力形式については、 Date Data Typeを参照してください。 文字または数値の入力データの日付形式が指定されなかった場合、デフォルト形式は *ISO です。 詳しくは、 DATFMT (fmt{separator})を参照してください。
最初のパラメーターが、タイム・スタンプ、*DATE、または UDATE の場合は、2 番目のパラメーターは指定してはなりません。 システムは、これらの場合の入力データの形式については理解しています。
詳しくは、 情報操作 または 組み込み関数を参照してください。
日付の例
- 以下の例では、文字列内の日付値は*USAフォーマットで、セパレーターがないことが分かっている。
string = '04052024'; date = %date(string : *USA0); // date = D'2024-04-05' - 以下の例では、数値変数の値はジョブ日付フォーマットであることが知られているが、年は4桁である。 この例では、ジョブの日付フォーマットは*DMYである。 日付フォーマット*LONGJOBRUNが使用されているため、数値は*DMYフォーマットに関連する4桁の年を持つフォーマットである*EURフォーマットであると仮定されます。
// num = 05042024 date = %date(num : *LONGJOBRUN); // date = D'2024-04-05'