DateDiff関数

2つの日付間の間隔数を戻します。

構文

DateDiff(interval, date1, date2)

引数:

  • Interval: 必須。date1とdate2の差を計算するために使用する間隔の文字列式。値については「設定」の項を参照してください。
  • date1、date2: 必須。日付の式。計算で使用する2つの日付。
設定: interval引数には次の値を指定できます:

表11-10 Interval引数の値

設定 説明
yyyy
q 四半期
m Month
d Day
w 曜日
h Hour
n Minute
s Second

サポートされている日付フォーマット:

  • MM-DD-YYYY
  • MM/DD/YYYY
  • DD-MM-YYYY
  • DD/MM/YYYY
  • YYYY-MM-DD
  • YYYY/MM/DD

サポートされている時間フォーマット:

hh:mm:ss

備考

DateDiff関数を使用すると、指定された時間間隔が2つの日付の間にいくつ存在するかを判別できます。たとえば、DateDiffを使用して、2つの日付間の日数を計算できます。

date1からdate2までの日数を計算するには、Day ("d")を使用します。date1がdate2より後の時点を参照する場合、DateDiff関数は負の数値を戻します。

12月31日と翌年の1月1日を比較すると、経過したのは1日のみですが、Year ("yyyy")のDateDiffは1を戻します。

次の例では、DateDiff関数を使用して、指定された日付から今日までの日数を表示します:

例1:

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

例2:

Dim StartDate, EndDate, Difference
StartDate = "01/01/2025"
EndDate = "21/01/2025"
Difference = DateDiff("d", StartDate, EndDate) 
'Output: 20

例3:

Dim StartDate, EndDate, Difference
StartDate = "01/01/2020"
EndDate = "01/01/2025"
Difference = DateDiff("yyyy", StartDate, EndDate) 
'Output: 5

例4:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025"
EndDate = "21/03/2025" 
Difference = DateDiff("m", StartDate, EndDate)
'Output: 2

例5:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:00:00" ' Includes time component.
EndDate = "21/01/2025 18:00:00"   ' Includes time component.
Difference = DateDiff("h", StartDate, EndDate) 
'Output: 10

例6:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:00:00" ' Includes time component.
EndDate = "21/01/2025 08:45:00"   ' Includes time component.
Difference = DateDiff("n", StartDate, EndDate) 
'Output: 45

例7:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:45:00" ' Includes time component.
EndDate = "21/01/2025 08:45:50"   ' Includes time component.
Difference = DateDiff("s", StartDate, EndDate) 
'Output: 50