VBA - 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
vba_date_time.htm
广告