%SUBDT (日付、時刻、またはタイム・スタンプの一部の取り出し)

%SUBDT(value : unit { : digits { : decpos } })

変更の始まり 単位に指定できるのは、 *MSECONDS、*SECONDS、*MINUTES、*HOURS、*DAYS、*MONTHS、または *YEARS です。 単位の省略形を使用して、*MS、*S、*MN、*H、*D、*M、または *Y と指定することもできます。 変更の終わり

%SUBDT は、日付、時刻、またはタイム・スタンプの情報の一部を取り出します。これは符号なしの数値を戻します。

最初のパラメーターは、日付、時刻、またはタイム・スタンプ値です。

2 番目のパラメーターは、ユーザーが取り出したい部分です。 次の値が有効です。

この関数では、*DAYS は必ず年間通算日ではなく月の中での日を参照します (ユーザーが年間通算日を使用していても)。たとえば、2 月 10 日の日の部分とは、10 であって 41 ではありません。

この関数は必ず 4 桁の年を戻します (日付の形式が 2 桁の年の場合も)。

詳細については、日付命令または 組み込み関数を参照してください。

変更の始まり
図 1. %SUBDT の例
 *..1....+....2....+....3....+....4....+....5....+....6....+....7...+....

     date = d'1999-02-17';
     time = t'01.23.45';
     timestamp = z'1999-02-17-01.23.45.98765';

     num = %subdt(date:*YEARS);
     // num = 1999

     num = %subdt(time:*MN);
     // num = 23

     seconds = %subdt(timestamp:*S:5:3);
     // seconds = 45.987
変更の終わり