VBA中DateDiff函数用法
(2021-05-19 07:33:15)DateDiff()函数返回两个指定的时间间隔之间的差值。
语法
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
参数
- Interval - 一个必需的参数。 它可以采用以下值。
- d - 一年中的一天
- m - 一年中的月份
- y - 一年中的年份
- yyyy - 年份
- w - 工作日
- ww - 星期
- q - 季度
- h - 小时
- m - 分钟
- s - 秒钟
- Date1 和 Date2 - 必需的日期参数。
- 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
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/vba/vba_datediff_function.htmlDateAdd,DateDiff日期函数的用法
时 间:2008-04-04 13:16:13
作 者:friendship
摘 要:DateAdd,DateDiff日期函数的用法
正 文:
1.DateAdd ( I , N , D )
将一个日期加上一段期间后的日期。 I :设定一个日期( Date )所加上的一段期间的单位。譬如 interval="d" 表示
N的单位为日。 I的设定值如下:
yyyy Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 时
n Minute 分
s Second 秒
N :数值表达式,设定一个日期所加上的一段期间,可为正值或负值,正值表示加(结果为 >date 以后的日期),负值表示减(结果为
>date 以前的日期)。
D :待加减的日期。
例子: DateAdd ( "m" , 1 , "31-Jan-98")
结果: 28-Feb-98
说明:将日期 31-Jan-98 加上一个月,结果为 28-Feb-98 而非 31-Fe-98
。
例子: DateAdd ( "d" , 20 , "30-Jan-99")
结果: 1999/2/9
说明:将一个日期 30-Jan-99 加上 20 天后的日期。
2.Day( 日期的字符串或表达式 )
传回日期的「日」部份。
例子: Day(" 12/1/1999 ")
结果: 1
3.DateDiff (I , D1 , D2[,FW[,FY]])
计算两个日期之间的期间。
I :设定两个日期之间的期间计算之单位。譬如 >I="m" 表示计算的单位为月。 >I
的设定值如:
yyyy > Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 时
n Minute 分
s Second 秒
D1 ,D2:计算期间的两个日期表达式,若 >date1 较早,则两个日期之间的期间结果为正值;若 >date2 较早,
则结果为负值。
FW :设定每周第一天为星期几, 若未设定表示为星期天。 >FW 的设定值如下:
0 使用 >API 的设定值。
1 星期天
2 星期一
3 星期二
4 星期三
5 星期四
6 星期五
7 星期六
FY :设定一年的第一周, 若未设定则表示一月一日那一周为一年的第一周。 >FY
的设定值如下:
0 使用 >API 的设定值。
1 一月一日那一周为一年的第一周
2 至少包括四天的第一周为一年的第一周
3 包括七天的第一周为一年的第一周
例子: DateDiff ("d","25-Mar-99 ","30-Jun-99
")
结果: 97
说明:显示两个日期之间的期间为 97 天