DateDiff 関数は、2 つの日時の間隔を返します。

指定の日時から経過した日や時間を取得したいときに使用します。

構文

DateDiff(interval, dateStart, dateEnd)
引数2(dateStart)から引数3(dateEnd)までの期間を指定した単位で取得します。

引数1「interval」 期間の単位を表す文字を指定します。
引数2「dateStart」 期間の開始となる日時を指定します。
引数3「dateEnd」 期間の終了となる日時を指定します。
戻り値の型 数値型 (Integer)

引数「単位」
単位の文字 説明
yyyy 年
m 月
d 日
h 時
n 分
s 秒
q 四半期
y 通年での日数
w 曜日
ww 週

解説

引数「単位」がd(日)のとき次の結果を返します。

開始日時 終了日時 結果
10/1 10/2 1
10/1 10/1 0
10/2 10/1 -1

テスト結果

Sub test()

    Dim d1 As Date
    Dim d2 As Date
    
    d1 = "2011/5 /1"
    d2 = "2011/5 /2"

    MsgBox DateDiff("d", d1, d2) '1を表示します。

End Sub


失敗例

Sub test()

    Dim d1 As Date
    Dim d2 As Date
    
    'デート型は文字列で指定しないと処理が失敗します。
    d1 = 2011 / 5 / 1
    d2 = 2011 / 5 / 2

    MsgBox DateDiff("d", d1, d2) '-201を表示します。
    
End Sub