共用方式為


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 支援與意見反應