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