Microsoft® Visual Basic® Scripting Edition DateDiff 関数 |
ランゲージ リファレンス
|
指定された 2 つの日付の間隔日数を返します。
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 関数の構文は、次の指定項目から構成されます。
指定項目 内容 interval 必ず指定します。引数 date1 と date2 の間隔を計算するための、時間単位間隔を表す文字列式を指定します。設定する値については、次の「設定値」を参照してください。 date1, date2 必ず指定します。この引数はバリアント型 (内部処理形式 Date の Variant) のデータ形式で指定します。間隔を計算する 2 つの日付を指定します。 firstdayofweek 省略可能です。週の始まりの曜日を表す定数を指定します。設定する値については、次の「設定値」を参照してください。省略すると、日曜日を指定したものとみなされます。 firstweekofyear 省略可能です。年度の第 1 週を表す定数を指定します。設定する値については、次の「設定値」を参照してください。省略すると、1 月 1 日を含む週が第 1 週とみなされます。
引数 interval の設定値は次のとおりです。
設定値 内容 yyyy 年 q 四半期 m 月 y 年間通算日 d 日 w 週 ww 週日 h 時 m 分 s 秒 引数 firstdayofweek の設定値は次のとおりです。
引数 firstweekofyear の設定値は次のとおりです。
定数 値 内容 vbUseSystem 0 各国語対応 (NLS) API の設定値を使います。 vbSunday 1 (既定値) 日曜 vbMonday 2 月曜 vbTuesday 3 火曜 vbWednesday 4 水曜 vbThursday 5 木曜 vbFriday 6 金曜 vbSaturday 7 土曜
定数 値 内容 vbUseSystem 0 各国語対応 (NLS) API の設定値を使います。 vbFirstJan1 1 (既定値) 1 月 1 日を含む週を年度の第 1 週として扱います。 vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います。 vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱います。
DateDiff 関数を使うと、指定した時間単位で 2 つの日付の時間間隔を調べることができます。たとえば、2 つの日付の間の日数や、現在から年末までの週の数などを求めることができます。引数 date1 と date2 の間の日数を求めるには、年間通算日 ("y") か、日 ("d") のいずれかを指定します。引数 interval に週日 ("w") を指定すると、2 つの日付の間の週の数が計算されます。引数 date1 が月曜日の場合は、引数 date2 までの間の月曜日の数が返されます。このとき引数 date2 の月曜日は計算に入りますが、引数 date1 の月曜日は計算に入りません。一方、引数 interval に週 ("ww") を指定した場合は、2 つの日付の間の暦上の週の数が計算されます。つまり、引数 date1 と date2 の間の日曜日の数が返されます。引数 date2 に指定した日付が日曜日であれば、引数 date2 は計算に入りますが、引数 date1 は日曜日であっても計算に入りません。
引数 date2 よりも時間的に後の日付を引数 date1 に指定すると、DateDiff 関数は負の数を返します。
引数 firstdayofweek は、引数 interval に週 ("ww") を指定した場合の計算値に影響します。
引数 date1 または date2 に日付リテラルを指定した場合、指定した年が日付の固定部分となります。ただし、引数 date1 または date2 をダブル クォーテーション (" ") で囲み、年を省略すると、引数 date1 または date2 の式が評価されるたびにコードに現在の年が挿入されます。これを利用すると、異なる年度で使用できるコードを記述することが可能になります。
12 月 31 日とその次の年の 1 月 1 日を比較すると、DateDiff 関数の年 ("yyyy") は、1 日後であっても、1 を返します。