DateAdd 函數

會傳回包含已加上指定時間間隔之日期的 Variant (Date)。

語法

DateAdd(interval, number, date)

DateAdd 函數語法具有下列具名引數

部分 描述
Interval 必要。 您要增加之時間間隔的字串運算式
number 必要項目。 您想要增加之時間間隔的數值運算式。 它可以是正數 (取得未來的日期) 或負數 (取得過去的日期)。
date 必要項目。 Variant (Date) 或常值,代表要新增間隔的日期。

設定

interval變數具有下列設定:

設定 說明
yyyy
q
m
y 年中的日
d
w 工作日
ww
h
n
s

註解

使用 DateAdd 函數在某個日期加上或減去指定時間間隔。 例如,您可以使用 DateAdd 來計算從今天算起 30 天後的日期,或從現在算起 45 分鐘後的時間。

若要新增天數到 date,您可使用年中的日 ("y")、天 ("d") 或工作日 ("w")。

注意事項

當您使用 “w” 間隔 (包括星期日至星期六的所有日期) 將天數加到日期時,DateAdd 函數會將您指定的總天數加到日期,而不是像您預期地只將工作日天數 (星期一到星期五) 加到日期。

DateAdd 函數並不會傳回無效的日期。 下列範例會將 1 月 31 日加上一個月:

DateAdd("m", 1, "31-Jan-95")

在此情況下,DateAdd 會傳回 28-Feb-95,而不是 31-Feb-95。 如果 date 是 31-Jan-96,它會傳回 29-Feb-96 因為 1996 是閏年。

如果計算出日期在 100 年之前(也就是您減去的年數超過 date 中的年數),則會發生錯誤。

如果 number 值不是 Long,則在評估之前會將其四捨五入為最接近的整數。

注意事項

DateAdd 回傳值的格式由 [控制台] 設定決定,而非由 date 引數中傳遞的格式決定。

注意事項

對於 date,如果 Calendar 屬性設定為西曆,提供的日期也必須是西曆。 如果行事曆為回曆,那麼提供的日期也必須是回曆。 如果月份值為名稱,名稱必須與目前 Calendar 屬性設定一致。 若要降低月份名稱與目前 Calendar 屬性設定發生衝突的可能性,請輸入數字月份值 (簡短日期格式)。

範例

此範例採用日期,並使用 DateAdd 函數顯示未來指定月份的相應日期。

Dim FirstDate As Date    ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg As String
IntervalType = "m"    ' "m" specifies months as interval.
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應