1. 程式人生 > >VBA中DateDiff函式用法

VBA中DateDiff函式用法

返回  Variant  ( Long)  的值,表示兩個指定日期間的時間間隔數目。

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

DateDiff 函式語法中有下列命名引數:

部分描述
interval必要。字串表示式,表示用來計算 date1 和 date2  的時間差的時間間隔
Date1,date2必要。 Variant  ( Date) 。計算中要用到的兩個日期。
Firstdayofweek可選。指定一個星期的第一天的常數。 如果未予指定, 則以星期日為第一天
firstweekofyear可選。指定一年的第一週的常數。 如果未予指定, 則以包含1  月 1  日的星期為第一週
設定

interval  引數的設定值如下:

設定描述設定描述
yyyy w一週的日數
qww
mh
y一年的日數n分鐘
ds

firstdayofweek  引數的設定值如下:

常數描述
vbUseSystem0使用 NLS API  設定
vbSunday1星期日(預設值)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六
常數描述
vbUseSystem0用 NLS API  設定。
vbFirstJan11從包含  1  月 1  日的星期開始(預設值)
vbFirstFourDays2從第一個其大半個星期在新的一年的一週開始
vbFirstFullWeek3從第一個無跨年度的星期開始。
說明
DateDiff 函式可用來決定兩個日期之間所指定的時間間隔數目。例如,可以使用 DateDiff 來計算兩個日期之間相隔幾日, 或計算從今天起到年底還有多少個星期。為了計算 date1 與 date2  相差的日數,可以使用“一年的日數” (y)  或“日” (d) 。當 interval 是“一週的日數” (w)  時,DateDiff 返回兩日期間的週數。如果 date1 是星期一, DateDiff 計算到 date2 為止的星期一的個數。這個數包含 date2 但不包含 date1 。不過,如果 interval 是“周” (ww),則DateDiff 函式返回兩日期間的“日曆周”數。由計算 date1 與 date2  之間星期的個數而得。如果 date2  剛好是星期日,則 date2 也會被加進 DateDiff 的計數結果中;但不論 date1  是否為星期日,都不將它算進去。如果 date1  比 date2  來得晚,則 DateDiff 函式的返回值為負數。firstdayofweek 引數會影響使用時間間隔符號 “W”  或 “WW”  計算的結果。如果 date1  或 date2  是日期文字,則指定的年份成為該日期的固定部分。 但是,如果 date1  或 date2  用雙引號  (" ")  括起來,且年份略而不提,則在每次計
算表示式 date1  或 date2  時,當前年份都會插入到程式碼之中。 這樣就可以書寫適用於不同年份的程式程式碼。在計算  12  月 31  日和來年的  1  月 1  日的年份差時,DateDiff 返回  1  表示相差一個年份,雖然實際上只相差一天而已。
DateDiff  函式示例
本示例使用 DateDiff 函式來顯示某個日期與今日相差幾天。
Dim TheDate As Date    '  宣告變數。
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg