傳回包含日期並新增指定時間間隔 (日期) 的變體。
語法
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