2011年12月3日土曜日

[ExcelVBA] DateDiff関数


■構文
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

■説明
2つの指定した日付の時間間隔を返します。
第一引数:時間間隔を表す文字列を指定
設定値内容設定値内容
yyyyw週日
q四半期ww
mh
y年間通算日n
ds
第二引数:日付を指定(基準となる日付)
第三引数:日付を指定(比較する相手の日付)
第四引数:(省略可能)週の初めの日を何曜日にするか指定。省略した場合は日曜日
定数内容
vbUseSystem0NLS APIの設定値を使います
vbSunday1(規定値)日曜
vbMonday2月曜
vbTuesday3火曜
vbWednesdasy4水曜
vbThursday5木曜
vbFriday6土曜
vbSaturday7日曜
第五匹数:(省略可能)年の始めの週を何周目にするか指定。省略した場合1月1日を含む週
定数内容
vbUseSystem0NLS APIの設定値を使います
vbFirstJan11(規定値)1月1日を含む週を年度の第一週とします。
vbFirstFourDays27日のうち少なくとも4日が新年度に含まれる週を年度の第一週としてます。
vbFirstFullWeek3全体が新年度に含まれる最初の週を年度の第一週とします。

■サンプルコード
Option Explicit

Sub SampleCode()
    Debug.Print DateDiff("yyyy", "2009/7/1", "2010/7/1") '1[年]
    Debug.Print DateDiff("q", "2009/7/1", "2010/7/1")    '4[四半期]
    Debug.Print DateDiff("m", "2009/7/1", "2010/7/1")    '12[月]
    Debug.Print DateDiff("d", "2009/7/1", "2010/7/1")    '365[日]
    Debug.Print DateDiff("ww", "2009/7/1", "2010/7/1")   '52[週]
    Debug.Print DateDiff("h", "2009/7/1", "2010/7/1")    '8760[時]
    Debug.Print DateDiff("n", "2009/7/1", "2010/7/1")    '525600[分]
    Debug.Print DateDiff("s", "2009/7/1", "2010/7/1")    '31536000[秒]
End Sub

■関連
DateAdd関数

0 件のコメント: