DateDiff

DateDiff 関数を使用して、2 つの日付の間隔を返します。

構文

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

引数 説明
interval 必須。date1date2 の間を計算するために使用する間隔の文字列。

次の値を使用できます。

  • yyyy - 年度に使用します。
  • q - 四半期に使用します。
  • m - 月に使用します。
  • y - 年に使用します。
  • d - 日に使用します。
  • w - 曜日に使用します。
  • ww - 週に使用します。
  • h - 時間に使用します。
  • n - 分に使用します。
  • s - 秒に使用します。
date1, date2 必須。日付式。計算で使用する 2 つの日付です。
firstdayofweek オプション。週の最初の曜日を指定する定数。指定しない場合は日曜日と見なされます。次の値を使用できます。
  • vbUseSystem または 0

    各国語サポート (NLS) API 設定を使用します。

  • vbSunday または 1
  • vbMonday または 2
  • vbTuesday または 3
  • vbWednesday または 4
  • vbThursday または 5
  • vbFriday または 6
  • vbSaturday または 7
firstweekofyear オプション。年の最初の週を指定する定数。指定しない場合は 1 月 1 日の週が最初の週とみなされます。
  • vbUseSystem または 0

    各国語サポート (NLS) API 設定を使用します。

  • vbFirstJan1 または 1

    1 月 1 日が始まる週に開始します (デフォルト)。

  • vbFirstFourDays または 2

    新しい年度の少なくとも 4 日が含まれる週に開始します。

  • vbFirstFullWeek または 3

    新しい年度の 1 週間全体が含まれる週に開始します。

DateDiff 関数を使用して、指定した時間間隔が 2 つの日付の間にどれだけあるのかを計算できます。たとえば、2 つの日付の間の日数、または今日から年度末までの週数を計算できます。

date1date2 の間の日数を計算するには、y (年間通算日) または d (日) を使用します。たとえば、DateDiff(d, date1,date2) は date1date2 の間の日数を計算します。関数でテキスト文字列が必要なため、ハードコード日付は引用符 ("") で囲む必要があります。

interval に w (曜日) を指定すると、DateDiff 関数は 2 つの日付の間の週数を返します。たとえば、date1 が月曜日であれば、DateDiffdate2 までの月曜日の数をカウントします。date2 はカウントしますが、date1 はカウントしません。

interval に ww (週) を指定すると、DateDiff 関数は 2 つの日付の間のカレンダー週数を返します。date1date2 の間の日曜日の数を計算します。DateDiff は、date2 が日曜日の場合に date2 をカウントしますが、date1 が日曜日の場合であっても date1 はカウントしません。

date1date2 より後の日付の場合、DateDiff 関数はマイナスの値を返します。

firstdayofweek 引数は間隔値 www を使用する計算に影響します。

date1 または date2 が日付リテラルの場合、指定される年度がその日付の固定年度となります。ただし、date1 または date2 を引用符 (" ") で囲んで年度を省略すると、現在の年度がコードに挿入されます。現在の年度は date1 または date2 式が評価されるたびに挿入されます。これにより、さまざまな年度で使用するコードを記述することができます。

12 月 31 日と翌年の 1 月 1 日を比較する場合、DateDiff for Year (yyyy) は、1 日が経過しただけでも [1] を返します。

次の例では、指定された日付と今日の間の日数が返されます。

Function DiffADate(theDate)
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
End Function

次の例では [2] が返されます。

DateDiff("yyyy","01/01/2016","01/01/2018")

次の例では [4] が返されます。

DateDiff("q","01/01/2016","01/01/2017")

次の例では [12] が返されます。

DateDiff("m","01/01/2016","01/01/2017")

次の例では [365] が返されます。

DateDiff("y","01/01/2016","01/01/2017")

次の例では [365] が返されます。

DateDiff("dd","01/01/2016","01/01/2017")

次の例では [52] が返されます。

DateDiff("w","01/01/2016","01/01/2017")

次の例では [52] が返されます。

DateDiff("ww","01/01/2016","01/01/2017")

次の例では [8760] が返されます。

DateDiff("h","01/01/2016","01/01/2017")

次の例では [525600] が返されます。

DateDiff("n","01/01/2016","01/01/2017")

次の例では [31536000] が返されます。

DateDiff("s","01/01/2016","01/01/2017")