DateDiff関数

DateDiff 関数は指定した2つの日付の時間間隔を整数値で返します。時間間隔の単位は引数で指定することができます。

スポンサーリンク

DateDiff関数の使用方法

構文
DateDiff (Interval , Date1 , Date2 [, FirstDayOfWeek] [, FirstWeekOfYear])

【戻り値】 バリアント型 (内部処理形式 Date の Variant)
引数名 省略 説明
Interval × 時間間隔の単位を表す文字列式を指定します。
Date1Date2 × 時間間隔を取得したい日付を指定します。 Date1 < Date2 の場合、正の値が返されます。
FirstDayOfWeek 週の始まりの曜日を表す定数を指定します。 省略すると、日曜日を指定したものとみなされます。
FirstWeekOfYear 年度の第 1 週を表す定数を指定します。 省略すると、1 月 1 日を含む週が第 1 週とみなされます。
引数 Interval に指定可能な定数
設定値 説明
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s
引数 FirstDayOfWeek に指定可能な定数
定数 説明
vbUseSystem 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 日を含む週から始まります。
vbFirstFourDays 2 年の 4 日以上が含まれる最初の週から始まります。
vbFirstFullWeek 3 年のうち、7 日が含まれる最初の週から始まります。

DateDiff関数の使用例

日付の差分をさまざまな形式で表示する例です。

Sub sample_ef039_01()
    Dim wDate1  As Date
    Dim wDate2  As Date

    '変数に日付と時刻を設定
    wDate1 = DateSerial(2013, 4, 1) + TimeSerial(1, 23, 45)
    wDate2 = DateSerial(2013, 5, 5) + TimeSerial(12, 34, 56)

    Debug.Print "日付1:" & wDate1
    Debug.Print "日付2:" & wDate2
    Debug.Print "四半期:" & DateDiff("q", wDate1, wDate2)
    Debug.Print "月  :" & DateDiff("m", wDate1, wDate2)
    '2つの日付の間にある週の数
    Debug.Print "週日 :" & DateDiff("w", wDate1, wDate2)
    'wDate1の翌日以降からwDate2までの日曜日の数
    Debug.Print "週  :" & DateDiff("ww", wDate1, wDate2)
    Debug.Print "日[1] :" & DateDiff("y", wDate1, wDate2)
    '"d"を指定したときと結果は同じです。
    Debug.Print "日[2] :" & DateDiff("d", wDate1, wDate2)
    Debug.Print "時間 :" & DateDiff("h", wDate1, wDate2)
    Debug.Print "分  :" & DateDiff("n", wDate1, wDate2)
    Debug.Print "秒  :" & DateDiff("s", wDate1, wDate2)
End Sub

 DateSerial、TimeSerial関数

  • マクロ実行結果(イミディエイトウィンドウ
    日付1:2013/04/01 1:23:45
    日付2:2013/05/05 12:34:56
    四半期:0
    月  :1
    週日 :4
    週  :5
    日[1] :34
    日[2] :34
    時間 :827
    分  :49631
    秒  :2977871
タイトルとURLをコピーしました