DateDiff 関数
DateDiff(strInterval, varDate1, varDate2 [, lngWeek, lngYear])
指定された 2 つの日付の時間間隔を返します。
引数
- strInterval
- 引数 varDate1 と引数 varDate2 の間隔を計算するための、時間間隔の単位を表す文字列式を指定します。
 設定する値については、次の「設定値」を参照してください。
- varDate1, varDate2
- 日付式を指定します。間隔を計算する 2 つの日付を指定します。
 varDate2 よりも時間的に後の日付を引数 varDate1 に指定すると、DateDiff 関数は負の数を返します。
 日付リテラルを指定した場合、指定した年が日付の固定部分となります。
 ただし、ダブルクォーテーション (") で囲み、年を省略すると、式が評価されるたびに現在の年が挿入されます。
- lngWeek
- 省略可能です。
 週の始まりの曜日を表す定数を指定します。省略すると、日曜日が指定されます。
 定数 値 内容 vbUseSystemDayOfWeek 0 各国語対応 (NLS) API の設定値を使用します。 vbSunday 1 日曜(既定値) vbMonday 2 月曜 vbTuesday 3 火曜 vbWednesday 4 水曜 vbThursday 5 木曜 vbFriday 6 金曜 vbSaturday 7 土曜 
- lngYear
- 省略可能です。
 年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週と指定されます。
 定数 値 内容 vbUseSystem 0 各国語対応 (NLS) API の設定値を使用します。 vbFirstJan1 1 1 月 1 日を含む週を年度の第 1 週として扱います。(既定値) vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います。 vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱います。 
設定値/使用例
| 設定値 | 内容 | 使用例 | 結果 | 
|---|---|---|---|
| yyyy | 年 | DateDiff("yyyy", "2005/12/31", "2006/01/01") | 1(1日後であっても、年が変われば"1"を返す) | 
| q | 四半期 | DateDiff("q", "2005/01/01", "2006/01/01") | 4 | 
| m | 月 | DateDiff("m", "2005/01/01", "2006/01/01") | 12 | 
| y | 年間通算日 | DateDiff("y", "2005/01/01", "2006/01/01") | 365 | 
| d | 日 | DateDiff("d", "2004/01/01", "2005/01/01") | 366(閏年) | 
| w | 週日 | DateDiff("w", "2005/02/07", "2005/02/20") | 1(2 つの日付の間の週の数 *1) | 
| ww | 週 | DateDiff("ww", "2005/02/07", "2005/02/20") | 2(2 つの日付の間の暦上の週の数 *2) | 
| h | 時 | DateDiff("h", "2005/01/01", "2005/01/02") | 24 | 
| n | 分 | DateDiff("n", "2005/01/01", "2005/01/02") | 1440 | 
| s | 秒 | DateDiff("s", "2005/01/01", "2005/01/02") | 86400 |