構文
DateDiff(interval,date1,date2[,firstdayofweek][,firstweekofyear])
引数intervalには、date1とdate2の間隔を計算するための単位を指定します。
引数date1とdate2には、間隔を計算する2つの日付を指定します。
引数firstdayofweekは省略可能です。週の始まりの曜日を指定します。
引数firstweekofyearは省略可能です。年度の第1週を指定します。
解説
DateDiff関数は2つの日付の間隔を返します。
引数Intervalに指定できる間隔は次のとおりです。
| 設定値 | 内容 |
|---|---|
| yyyy | 年 |
| q | 四半期 |
| m | 月 |
| y | 年間通算日 |
| d | 日 |
| w | 週日 |
| ww | 週 |
| h | 時 |
| n | 分 |
| s | 秒 |
引数firstdayofweekに指定できる設定値は次のとおりです。
| 定数 | 値 | 内容 |
|---|---|---|
| vbUseSystem | 0 | 各国語対応APIの設定値を使います |
| vbSunday | 1 | 日曜(既定値) |
| vbMonday | 2 | 月曜 |
| vbTuesday | 3 | 火曜 |
| vbWednesday | 4 | 水曜 |
| vbThursday | 5 | 木曜 |
| vbFriday | 6 | 金曜 |
| vbSaturday | 7 | 土曜 |
引数firstweekofyearに設定できる設定値は次のとおりです。
| 定数 | 値 | 内容 |
|---|---|---|
| vbUseSystem | 0 | 各国語対応APIの設定値を使います |
| vbFirstJan1 | 1 | 1 月 1 日を含む週を年度の第 1 週として扱います(既定値) |
| vbFirstFourDays | 2 | 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います |
| vbFirstFullWeek | 3 | 全体が新年度に含まれる最初の週を年度の第 1 週として扱います |
サンプル
次の例は、97年4月1日と97年6月27日の間を「月単位」「日単位」「週単位」で表します。
Sub Sample()
Dim Date1 As Date, Date2 As Date
Date1 = #4/1/97# '97年4月1日
Date2 = #6/27/97# '97年6月27日
MsgBox DateDiff("m", Date1, Date2) '2ヶ月を返します
MsgBox DateDiff("d", Date1, Date2) '87日を返します
MsgBox DateDiff("ww", Date1, Date2) '12週を返します
End Sub