使用
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
函式 (Visual Basic for Applications)
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。