DateDiff 関数

指定された 2 つの日付の時間間隔を返します。

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 関数の構文は、次の指定項目から構成されます。

引数

  • interval
    必ず指定します。引数 date1 と引数 date2 の間隔を計算するための、時間間隔の単位を表す文字列式を指定します。設定する値については、次の「設定値」を参照してください。
  • date1, date2
    必ず指定します。日付式を指定します。間隔を計算する 2 つの日付を指定します。
  • firstdayofweek
    省略可能です。週の始まりの曜日を表す定数を指定します。省略すると、日曜日が指定されます。設定する値については、次の「設定値」を参照してください。
  • firstweekofyear
    省略可能です。年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週と指定されます。設定する値については、次の「設定値」を参照してください。

設定値

引数 interval の設定値は次のとおりです。

設定値 内容
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

引数 firstdayofweek の設定値は次のとおりです。

定数 内容
vbUseSystemDayOfWeek 0 各国語対応 (NLS) API の設定値を使用します。
vbSunday 1 日曜 (既定値)
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

引数 firstweekofyear の設定値は次のとおりです。

定数 内容
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 を返します。

次のコードは、DateDiff 関数を使って今日から指定日までの日数を表示する例です。

Function DiffADate(theDate)
   DiffADate = "日数: " & DateDiff("d", Now, theDate)
End Function

必要条件

バージョン 2

参照

DateAdd 関数 | DatePart 関数