DateDiff 函式
傳回 Variant (Long) 指定兩個指定日期之間的時間間隔數目。
語法
DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )
DateDiff 函式語法具有下列具名引數:
組件 | 描述 |
---|---|
Interval | 必要。 字串運算式 也就是您用來計算介於 date1 和 date2 之間差異的時間間隔。 |
date1、date2 | 需要此項目;Variant (Date)。 您想要用於計算的兩個日期。 |
firstdayofweek | 選用。 constant 會指定每週的第一天。 如果未指定,則會假設星期日。 |
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 | 星期六 |
Firstweekofyear 引數具有這些設定︰
常數 | 值 | 描述 |
---|---|---|
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 之間的星期日數目。 如果日期是落在星期日,DateDiff 會計算 date2;但即便日期落在星期日,它並不會計算 date1。
如果 date1 指的是比 date2 更晚的一個時間點,那麼 DateDiff 函式會傳回負數。 firstdayofweek 引數會影響使用 "w" 和 "ww" 間隔符號的計算。
如果 date1 或 date2 為 日期常值,所指定的年度會永遠成為該日期的一部分。 不過,如果 date1 或 date2 是以雙引號括住 (""),且省略年度;那麼每次在評估 date1 或 date2 的運算式時,會將目前的年度插入程式碼中。 如此一來,便能夠撰寫可用在不同年度的程式碼。
當將 12 月 31 日跟緊接著年度的 1 月 1 日作比較時,即便只經過一天的時間,對於年度 ("yyyy"),DateDiff 會傳回 1。
注意事項
對於 date1 和 date2,如果 Calendar 屬性設定為 [西曆],那麼提供的日期也必須是西曆。 如果行事曆為回曆,那麼提供的日期也必須是回曆。
範例
這個範例會使用 DateDiff 函式來顯示指定日期和今天之間的天數。
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。