DateAdd 函數

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

會傳回包含已加上指定時間間隔之日期的 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

另請參閱

選擇合適的約會功能