VBA DateDiff()函式

2019-10-16 23:13:16

DateDiff()函式返回兩個指定的時間間隔之間的差值。

語法

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

引數

  • Interval - 一個必需的引數。 它可以採用以下值。
    • d - 一年中的一天
    • m - 一年中的月份
    • y - 一年中的年份
    • yyyy - 年份
    • w - 工作日
    • ww - 星期
    • q - 季度
    • h - 小時
    • m - 分鐘
    • s - 秒鐘
  • Date1Date2 - 必需的日期引數。
  • Firstdayofweek - 一個可選引數。指定一週的第一天。它可以採取以下值。
    • 0 = vbUseSystemDayOfWeek - 使用國家語言支援(NLS)API設定。
    • 1 = vbSunday - 星期天
    • 2 = vbMonday - 星期一
    • 3 = vbTuesday - 星期二
    • 4 = vbWednesday - 星期三
    • 5 = vbThursday - 星期四
    • 6 = vbFriday - 星期五
    • 7 = vbSaturday - 星期六
  • Firstdayofyear - 一個可選引數。指定一年中的第一天。 它可以採取以下值。
    • 0 = vbUseSystem - 使用國家語言支援(NLS)API設定
    • 1 = vbFirstJan1 - 從1月1日發生的那一週開始(預設)
    • 2 = vbFirstFourDays - 從新年至少有四天的一周開始
    • 3 = vbFirstFullWeek - 從新年的第一個整週開始

範例

新增一個模組,並新增以下範例程式碼 -

Private Sub Constant_demo_Click()
   Dim fromDate as Variant
   fromDate = "01-Jan-09 00:00:00"

   Dim toDate as Variant
   toDate = "01-Jan-10 23:59:00"

   msgbox("Line 1 : " &DateDiff("yyyy",fromDate,toDate))
   msgbox("Line 2 : " &DateDiff("q",fromDate,toDate))
   msgbox("Line 3 : " &DateDiff("m",fromDate,toDate))
   msgbox("Line 4 : " &DateDiff("y",fromDate,toDate))
   msgbox("Line 5 : " &DateDiff("d",fromDate,toDate))
   msgbox("Line 6 : " &DateDiff("w",fromDate,toDate))
   msgbox("Line 7 : " &DateDiff("ww",fromDate,toDate))
   msgbox("Line 8 : " &DateDiff("h",fromDate,toDate))
   msgbox("Line 9 : " &DateDiff("n",fromDate,toDate))
   msgbox("Line 10 : "&DateDiff("s",fromDate,toDate))
End Sub

執行上面範例程式碼,得到以下結果 -

Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340