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