ASP日付形式データの加減算方法
ASP は、特別な日付の加算および減算関数を提供します。
1. 日付を追加する
DateAdd 関数
指定された時間間隔を加算した日付を返します。
DateAdd(間隔、数値、日付)
DateAdd 関数の構文には次のパラメータがあります。
(1) 間隔が必要です。追加する時間間隔を表す文字列式。数値については「設定」セクションを参照してください。
(2)番号は必須です。追加する時間間隔の数を示す数値式。数値式は、正 (将来の日付を取得する) または負 (過去の日付を取得する) にすることができます。
(3) 日付は必須です。間隔を追加する日付を表すバリアントまたはテキスト。
説明する
DateAdd 関数を使用すると、日付に指定した時間間隔を加算または減算できます。たとえば、DateAdd を使用して、当日から 30 日後の日付、または今から 45 分後の時刻を計算できます。現在までの期間を日数で追加するには、年間日数 (y)、日数 (d)、または曜日 (w) を使用できます。
DateAdd 関数は無効な日付を返しません。次の例では、1995 年 1 月 31 日に 1 か月を追加します。
NewDate = DateAdd(m, 1, 31-Jan-95)
この例では、DateAdd は 1995 年 2 月 31 日ではなく、1995 年 2 月 28 日を返します。日付が 1996 年 1 月 31 日の場合、1996 年はうるう年であるため、1996 年 2 月 29 日が返されます。
計算された日付が西暦 100 年より前の場合、エラーが発生します。
数値が Long 値でない場合は、計算前に最も近い整数に丸められます。
2. 日付の減算
DateDiff関数
2 つの日付間の時間間隔を返します。
DateDiff(間隔, 日付1, 日付2 [, 週の最初の日[, 年の最初の週]])
DateDiff 関数の構文には次のパラメーターがあります。
(1) 間隔が必要です。 date1 と date2 の間の時間間隔を計算するために使用される文字列式。数値については「設定」セクションを参照してください。
(2) date1、date2 は必須です。日付式。計算に使用される 2 つの日付。
(3) 週の最初の日はオプションです。週の最初の曜日を指定する定数。指定しない場合は、デフォルトで日曜日が設定されます。数値については「設定」セクションを参照してください。
(4) 年の最初の週はオプションです。年の最初の週を指定する定数。指定しない場合、デフォルトで 1 月 1 日の週が設定されます。数値については「設定」セクションを参照してください。
説明する
DateDiff 関数は、2 つの日付の間に存在する指定された時間間隔の数を決定するために使用されます。たとえば、DateDiff を使用して、2 つの日付の間の日数、または今日と年の最後の日の間の週数を計算できます。
date1 と date2 の間の日数を計算するには、年間の日数 (y) または日数 (d) を使用できます。間隔が週の日数 (w) である場合、DateDiff は 2 つの日付の間の週数を返します。 date1 が月曜日の場合、DateDiff は date2 までの月曜日の数をカウントします。この結果には date2 が含まれますが、date1 は含まれません。間隔が週 (ww) の場合、DateDiff 関数はカレンダー テーブル内の 2 つの日付の間の週数を返します。この関数は、date1 と date2 の間の日曜日の数をカウントします。 DateDiff は、date2 が日曜日の場合は date2 を評価しますが、date1 が日曜日の場合でも date1 は評価しません。
date1 が date2 より後の場合、DateDiff 関数は負の数を返します。
firstdayofweek パラメーターは、w および ww 区切り記号を使用した計算に影響します。
date1 または date2 が日付リテラルの場合、指定された年は日付の固定部分になります。ただし、date1 または date2 を引用符 ( ) で囲み、年を省略した場合は、コード内で date1 または date2 式が評価されるたびに現在の年が挿入されます。これにより、異なる年にわたって機能するプログラム コードを作成することが可能になります。
間隔が年 (yyyy) の場合、12 月 31 日と翌年の 1 月 1 日を比較します。実際にはその差は 1 日だけですが、DateDiff は 1 年の差を示す 1 を返します。