DateDiff


構文

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