DateAdd 函數

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

傳回包含日期並新增指定時間間隔 (日期) 的變體

語法

DateAdd(interval, number, date)

DateAdd函數有下列引數:

引數 描述
interval 必要。 字串運算式,這是您要新增的時間間隔。
number 必要。 數值運算式,這是您想要新增的間隔數。 獲取未來的日期可以是積極的,也可以是獲取過去的日期的消極。
date 必要。 Variant (表示 新增間隔之日期的日期) 或常值。

設定

interval引數具有下列設定:

設定 描述
yyyy
q
m 月份
y 日期
d
w Weekday
ww
h 小時
n 分鐘
s 秒鐘

註解

您可以使用函數 DateAdd 在日期中加減指定的時間間隔。 例如,您可以用 DateAdd 來計算今天 30 天後的日期,或是 45 分鐘後的時間。

若要新增日期至 date,您可以使用 [日期] ("y" [) ]、[) ("d" 日] 或 [工作日] ("w") 。

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多於 ,則會發生錯誤。

如果不是 Long 值,Access number 會先將它四捨五入為最接近的整數,然後再評估運算式。

注意

DateAdd傳回值格式取決於控制台設定,而不是引數中date傳遞的格式。

注意

針對 date,如果屬性設定為西曆,則 Calendar 提供的日期必須是西曆。 如果日曆是回曆,則提供的日期必須是回曆。 如果月份值為名稱,則名稱必須符合目前 Calendar 的屬性設定。 若要減少衝突的可能性,請以簡短日期格式輸入月份數值。

查詢範例

運算式 結果
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; 將 1 年新增至欄位中的 DateofSale 日期值。
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; 從欄位中的 DateofSale 日期值中減去 1 年。
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; 將欄位中的 DateofSale 日期值加上 10 天,並在資料行中 NewDate 傳回結果。
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM 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

另請參閱

選擇適當的日期函數