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

選擇正確的日期函數

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×