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全体が新年度に含まれる最初の週を年度の第一週とします。

■サンプルコード
  1. Option Explicit  
  2.   
  3. Sub SampleCode()  
  4.     Debug.Print DateDiff("yyyy""2009/7/1""2010/7/1"'1[年]  
  5.     Debug.Print DateDiff("q""2009/7/1""2010/7/1")    '4[四半期]  
  6.     Debug.Print DateDiff("m""2009/7/1""2010/7/1")    '12[月]  
  7.     Debug.Print DateDiff("d""2009/7/1""2010/7/1")    '365[日]  
  8.     Debug.Print DateDiff("ww""2009/7/1""2010/7/1")   '52[週]  
  9.     Debug.Print DateDiff("h""2009/7/1""2010/7/1")    '8760[時]  
  10.     Debug.Print DateDiff("n""2009/7/1""2010/7/1")    '525600[分]  
  11.     Debug.Print DateDiff("s""2009/7/1""2010/7/1")    '31536000[秒]  
  12. End Sub  

■関連
DateAdd関数

0 件のコメント: