返回兩個(gè)日期之間的時(shí)間間隔。
語(yǔ)法
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
DateDiff 函數的語(yǔ)法有以下參數:
參數 描述
interval 必選。String expression 表示用于計算 date1 和 date2 之間的時(shí)間間隔。有關(guān)數值,請參閱“設置”部分。
date1, date2 必選。日期表達式。用于計算的兩個(gè)日期。
firstdayofweek 可選。指定星期中第一天的常數。如果沒(méi)有指定,則默認為星期日。有關(guān)數值,請參閱“設置”部分。
firstweekofyear 可選。指定一年中第一周的常數。如果沒(méi)有指定,則默認為 1 月 1 日所在的星期。有關(guān)數值,請參閱“設置”部分。
設置
interval 參數可以有以下值:
設置 描述
yyyy 年
q 季度
n 月
y 一年的日數
d 日
w 一周的日數
ww 周
h 小時(shí)
m 分鐘
s 秒
firstdayofweek 參數可以有以下值:
常數 值 描述
vbUseSystem 0 使用區域語(yǔ)言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 參數可以有以下值:
常數 值 描述
vbUseSystem 0 使用區域語(yǔ)言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開(kāi)始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一周開(kāi)始。
vbFirstFullWeek 3 由在新的一年中第一個(gè)完整的周開(kāi)始。
說(shuō)明
DateDiff 函數用于判斷在兩個(gè)日期之間存在的指定時(shí)間間隔的數目。例如可以使用 DateDiff 計算兩個(gè)日期相差的天數,或者當天到當年最后一天之間的星期數。
要計算 date1 和 date2 相差的天數,可以使用“一年的日數”(“y”)或“日”(“d”)。當 interval 為“一周的日數”(“w”)時(shí),DateDiff 返回兩個(gè)日期之間的星期數。如果 date1 是星期一,則 DateDiff 計算到 date2 之前星期一的數目。此結果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),則 DateDiff 函數返回日歷表中兩個(gè)日期之間的星期數。函數計算 date1 和 date2 之間星期日的數目。如果 date2 是星期日,DateDiff 將計算 date2,但即使 date1 是星期日,也不會(huì )計算 date1。
如果 date1 晚于 date2,則 DateDiff 函數返回負數。
firstdayofweek 參數會(huì )對使用“w”和“ww”間隔符號的計算產(chǎn)生影響。
如果 date1 或 date2 是日期文字,則指定的年度會(huì )成為日期的固定部分。但是如果 date1 或 date2 被包括在引號 (" ") 中并且省略年份,則在代碼中每次計算 date1 或 date2 表達式時(shí),將插入當前年份。這樣就可以編寫(xiě)適用于不同年份的程序代碼。
在 interval 為“年”(“yyyy”)時(shí),比較 12 月 31 日和來(lái)年的 1 月 1 日,雖然實(shí)際上只相差一天,DateDiff 返回 1 表示相差一個(gè)年份。
下面的示例利用 DateDiff 函數顯示今天與給定日期之間間隔天數:
Function DiffADate(theDate)
DiffADate = "從當天開(kāi)始的天數:" & DateDiff("d", Now, theDate)
End Function

