%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'