會傳回包含已加上指定時間間隔之日期的 Variant (Date)。

語法

DateAdd ( 間隔、數位、日期)

DateAdd 函數語法具有以下引數:

引數

描述

interval

必要。 這是您想要新增之時間間隔的字串運算式。

number

必要。 這是要新增之間隔數的數值運算式。 若要取得 (日期,) 或負 (,以取得過去日期) 。

date

必要。 Variant (日期) 或文字,代表新增間隔的日期。

提示:  在 Access 2010 中,運算式建立器具有 IntelliSense,因此您可以查看運算式需要哪些引數。 

設定

時間間隔引數 設定:

設定

描述

yyyy

q

m

月份

y

一年中的一天

d

日期

w

Weekday

ww

h

n

分鐘

s

註解

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

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

DateAdd 函數不會返回不正確日期。 下列範例會將一個月加到 1 月 31 日:

DateAdd("m", 1, "31-Jan-95")

在此案例中 ,DateAdd 會 返回 28-Feb-95,而非 31-Feb-95。 如果 日期是 31-Jan-96,會因為 1996 是一個躍點年份,所以會回到 29-2 月 96 日。

如果計算日期會先于 100 年 (,則減去的年數會超過日期) ,就會發生錯誤。

如果 number 不是 Long 值,則先四捨五入到最接近的整數位,然後再進行評估。

附註:  DateAdd傳回值的格式取決於控制台設定,而不是日期引數中傳遞的格式

附註: 為日期,如果 日曆 屬性設定為西曆,則提供的日期必須是西曆。 如果日曆是回曆,則提供的日期必須是回曆。 如果月份值是名稱,則名稱必須與目前的 日曆屬性設定 一致。 若要將月份名稱與目前日曆屬性設定衝突的可能性降到最低,請在簡短日期格式的 (輸入數值) 。

查詢範例

運算式

結果

SELECT DateAdd ("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales;

在 "DateofSale" 欄位的日期值加上 1 年以返回結果。

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 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

此範例會使用日期做為輸入,並使用 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

選擇正確的日期函數

需要更多協助?

擴展您的技能
探索訓練

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?

感謝您的意見反應!

×