會傳回包含已加上指定時間間隔之日期的 Variant (Date)。
語法
日期 (區間、號碼、日期)
DateAdd 函式語法包含以下參數:
| 引數 | 描述 |
|---|---|
| interval | 必要。 字串表達式,也就是你想加入的時間區間。 |
| 編號 | 必要。 數值表達式,也就是你想加入的區間數量。 未來約會可能是正面 (,過去) 約會可能是負面 () 。 |
| 日期 | 必要。 變體 (日期) 或字面日期,表示該區間被加入的日期。 |
設定
區間論證具有以下設定:
| 設定 | 描述 |
|---|---|
| yyyy | 年 |
| q | 季 |
| m | 月份 |
| y | 一年的星期幾 |
| d | 日期 |
| w | Weekday |
| ww | 週 |
| h | 時 |
| n | 分鐘 |
| s | 秒 |
註解
你可以使用 DateAdd 函數來從日期中加減指定的時間區間。 例如,你可以用 DateAdd 計算從今天起算 30 天後的日期,或是 45 分鐘後的時間。
要新增 日期,您可以使用年份 (“y”) 、Day (“d”) 或Weekday (“w”) 。
DateAdd 函式不會回傳無效日期。 以下範例將 1 月 31 日增加一個月:
DateAdd("m", 1, "31-Jan-95")
在此情況下, DateAdd 回傳的是 1995 年 2 月 28 日,而非 1995 年 2 月 31 日。 如果 日期 是1996年1月31日,則會回傳1996年2月29日,因為1996年是閏年。
如果計算日期早於100年,也就是說, (你減去的年份比 ) 日期 中更多的年份,就會產生錯誤。
若數值非 Long 值,則在評估前將其四捨五入至最接近的整數。
注意
DateAdd 的回傳值格式由控制台設定決定,而非日期參數中傳遞的格式。
注意
關於日期,若 Calendar 屬性設定為格里曆,則所提供的日期必須是格里曆。 如果曆法是伊斯蘭曆,則所提供的日期必須是伊斯蘭曆。 如果月份值是名稱,該名稱必須與目前 Calendar 屬性設定一致。 為減少月份名稱與目前Calendar屬性設定衝突的可能性,請輸入數值月份值 (短日期格式) 。
查詢範例
| 運算式 | 結果 |
|---|---|
| 選擇日期 新增 (「YYYY」,1,[DateofSale]) 作為 Expr1 來自 ProductSales; | 透過在「DateofSale」欄位的日期值加上 1 年來回傳結果。 |
| 選擇日期 新增 (「YYYY」,-1,[銷售日期]) 作為 ProductSales 的 Expr1; | 透過減去「DateofSale」欄位的日期值 1 年來回傳結果。 |
| 選擇日期 新增 (“d”,10,[DateofSale]) 作為 NewDate 來自 ProductSales; | 在「DateofSale」欄位的日期值上加上 10 天,回傳「NewDate」欄位的結果。 |
| 選擇日期 新增 (「ww」,-1,[DateofSale]) 作為 NewDate 來自 ProductSales; | 從「DateofSale」欄位的日期值中減去 1 週 (7 天) ,回傳「NewDate」欄的結果。 |
VBA 範例
注意
下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 欲了解更多使用 VBA 的資訊,請參閱 Access VBA 參考資料。
此範例以日期為輸入,並使用 DateAdd 函數顯示未來指定月份後的對應日期。
Dim FirstDate As Date ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
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