@Adjust (式言語)

指定された日時値を、指定された年、月、日、時、分、秒の数値で調整します。調整する値は、正数でも負数でも指定できます。

構文

@Adjust( dateToAdjust ; years ; months ; days ; hours ; minutes ; seconds ; [DST] )

パラメータ

dateToAdjust

日時または日時リスト。増分する日時値を指定します。値の範囲ではなく必ず 1 つの日時を指定します。

years

数値。増分する年の数値を指定します。

months

数値。増分する月の数値を指定します。

days

数値。増分する日の数値を指定します。

hours

数値。増分する時の数値を指定します。

minutes

数値。増分する分の数値を指定します。

seconds

数値。増分する秒の数値を指定します。

[DST]

キーワード。オプション。日付の境界線をまたがって調整する際にサマータイムが実施されている場合、時刻をサマータイム用にさらに調整するには [INLOCALTIME] を指定します。[INGMT] を指定するかこのパラメータを省略すると、サマータイム用には時刻は調整されません。調整とは、日付を増やすか減らすかして、新たな日付の同じ時刻にすることです。

戻り値

adjustedDate

日時。指定した時間だけ増分された値が返されます。

使用法

最初のパラメータがリストである場合、この関数はリストの各要素ごとに処理され、戻り値は同じ数の要素を持つリストになります。

[DST] キーワードを除くすべての引数を必ず指定します。調整の必要がないパラメータにはゼロを指定します。

引数は、最後から最初の順に適用されます。例えば、@Adjust([2/2/2006]; 0; 2; 28; 0; 0; 0) の場合、[4/30/2006] ではなく、[5/2/2006] が返されます。これは、@Adjust によって最初に 28 日が加算されて [3/2/2006] になり、次の 2 か月が加算されて [5/2/2006] になるためです。最初に 2 カ月を加えた後に 28 日を加える場合は、次のように、@Adjust を 2 回使用します。@Adjust(@Adjust([02/02/2006]; 0; 2; 0; 0; 0; 0); 0; 0; 28; 0; 0; 0)

ヒント: 2 つの日付の差を計算するには、減算を実行します。結果は秒単位で返されます。結果を日単位に調整するには、1 日の秒数である 86,400 で割ります。例えば、2 つの日付フィールド (date1 が [07/01/01] で date2 が [07/05/01]) がある場合、次の式を使用するとその間の日数が返されます。
(date2-date1)/86400

4 が返されます。

期日を計算する

@Adjust の典型的な使用例は、日時のうち月などの構成要素を 1 つだけ調整して、入力日から期日を計算するものです。

  1. 次の例では、09/2/97 が返されます。
    @Adjust([06/30/95];2;2;2;0;0;0)

    日時値の日の部分が 30、加算日数が 2 であるため、月の値が 1 増えます。次に、月の値に 2、年の値に 2 が加えられます。

  2. 次の例では、03/20/94 が返されます。
    @Adjust([03/30/96];-2;0;-10;0;0;0)

    この場合、指定した日付より 2 年と 10 日前の日付が返されます。

  3. 次の例では、09/1/97 と 09/2/97 が返されます。
    @Adjust([06/29/95] : [06/30/95]; 2; 2; 2; 0; 0; 0)
  4. 次の例では、[Date] というフィールドの日付から 1 ヵ月後の日付が返されます。
    @Adjust(Date;0;1;0;0;0;0) 
  5. 次の例では、現在の日時から 1 ヵ月と 1 日後の日付が返されます。
    @Adjust(@Now;0;1;1;0;0;0)
  6. 次の式では、指定した日付の週の最初の日付が返されます。[dueDate] フィールドに保存されている日付が取り出され、直前の月曜日の日付が返されます。例えば、[dueDate] が 06/02/95 の場合、次の式では 05/29/95 が返されます。
    @Adjust( dueDate; 0; 0; - ( @Weekday( dueDate ) - 2 ); 0; 0; 0 )
  7. 次の例では、5/2/2006 が返されます。
    @Adjust([2/2/2006]; 0; 2; 28; 0; 0; 0)
  8. 次の例では、4/30/2006 が返されます。
    @Adjust(@Adjust([02/02/2006]; 0; 2; 0; 0; 0; 0); 0; 0; 28; 0; 0; 0)

クロスリファレンス

LotusScript® NotesDateTime クラスの AdjustYear メソッド

Java DateTime クラスの adjustYear メソッド

LotusScript NotesDateTime クラスの AdjustMonth メソッド

Java DateTime クラスの adjustMonth メソッド

LotusScript NotesDateTime クラスの AdjustDay メソッド

Java DateTime クラスの adjustDay メソッド

LotusScript NotesDateTime クラスの AdjustHour メソッド

Java DateTime クラスの adjustHour メソッド

LotusScript NotesDateTime クラスの AdjustMinute メソッド

Java DateTime クラスの adjustMinute メソッド

LotusScript NotesDateTime クラスの AdjustSecond メソッド

Java DateTime クラスの adjustSecond メソッド