DateDiff 函数
返回 Variant (Long) 值,该值指定两个指定日期之间的时间间隔数。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法具有下列这些命名参数:
部分 |
说明 |
interval |
必选。字符串表达式,是用于计算 date1 和 date2 之间差异的时间间隔。 |
date1, date2 |
必选;Variant (Date)。要在计算过程中使用的两个日期。 |
firstdayofweek |
可选。指定一周的第一天的常量。如果未指定,将假设为星期日。 |
firstweekofyear |
可选。指定一年的第一周的常量。如果未指定,那么第一周将假设为 1 月 1 日所在的周。 |
设置
interval 参数具有下列这些设置:
设置 |
说明 |
yyyy |
年 |
q |
季 |
m |
月 |
y |
一年中的日期 |
d |
日 |
w |
工作日 |
ww |
周 |
h |
时 |
n |
分 |
s |
秒 |
firstdayofweek 参数具有下列这些设置:
常量 |
值 |
说明 |
vbUseSystem |
0 |
使用 NLS API 设置。 |
vbSunday |
1 |
星期日(默认值) |
vbMonday |
2 |
星期一 |
vbTuesday |
3 |
星期二 |
vbWednesday |
4 |
星期三 |
vbThursday |
5 |
星期四 |
vbFriday |
6 |
星期五 |
vbSaturday |
7 |
星期六 |
常量 |
值 |
说明 |
vbUseSystem |
0 |
使用 NLS API 设置。 |
vbFirstJan1 |
1 |
由 1 月 1 日所在的周开始(默认值)。 |
vbFirstFourDays |
2 |
由在新的一年中至少有四天的第一周开始。 |
vbFirstFullWeek |
3 |
由一年中的第一个完整周开始。 |
说明
可以使用 DateDiff 函数确定在两个日期之间存在多少个指定的时间间隔。例如,可以使用 DateDiff 计算两个日期之间的天数,或今天与一年的最后一天之间的周数。
若要计算 date1 与 date2 之间的天数,可以使用一年中的日期(“y”)或日(“d”)。当 interval 是工作日(“w”)时,DateDiff 将返回两个日期之间的周数。如果 date1 为星期一,那么 DateDiff 将对 date2 之前的星期一数进行计数。它会对 date2 进行计数,但不包含 date1。然而如果 interval 是周(“ww”),那么 DateDiff 函数将返回两个日期之间的日历周数。它对 date1 与 date2 之间的星期日数进行计数。如果 date2 是星期日,那么 DateDiff 将对其进行计数;但它不会对 date1 进行计数(即使它是星期日)。
如果 date1 所指的时间点比 date2 晚,那么 DateDiff 函数将返回一个负数。
firstdayofweek 参数将影响使用“w”和“ww”间隔符号的计算。
如果 date1 或 date2 是日期文字,那么指定年将成为该日期的固定部分。然而,如果 date1 或 date2 由双引号 (" ") 引起来,并且您省略了年,那么在每次计算 date1 或 date2 表达式时,会将当前年插入到代码中。这样,就能编写出可在其他年份使用的代码。
比较 12 月 31 日和次年的 1 月 1 日时,用于年(“yyyy”)的 DateDiff 将返回 1,尽管只经过了一天。
注释 对于 date1 和 date2,如果 Calendar 属性设置为公历,那么所提供的日期必须是公历。如果 Calendar 是回历,那么所提供的日期必须是回历。