DateAdd 函數

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

語法

DateAdd interval、number、date

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

引數

說明

interval

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

number

必要。 數值運算式,為您要新增的間隔數。 它可以是正數(以取得未來的日期)或負數(以取得過去的日期)。

date

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

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

設定

間隔 引數 具有下列設定:

設定

描述

yyyy

q

m

月份

y

一年中的某天

d

日期

w

Weekday

ww

h

n

分鐘

s

註解

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

若要在日期加上天數,您可以使用年月日("y")、Day ("d")或 [Weekday] ("w")。

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

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

在此情況下, DateAdd會傳回95年2月28日,而不是95年2月31日。 如果date是96年1月31日,則會傳回年 2 96 月29日,因為1996是閏年。

如果計算日期是在100年之前(也就是您減去的年數超過日期),就會發生錯誤。

如果number不是 Long 值,在評估前,會先將它四捨五入到最接近的整數。

附註: DateAdd的傳回值格式是由 [控制台] 設定所決定,而不是由date引數中傳遞的格式所決定。

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

查詢範例

運算式

結果

從 ProductSales 中選取 DateAdd ("YYYY",1,[DateofSale])做為運算式 1;

透過將1年新增到欄位「DateofSale」的日期值,傳回結果。

從 ProductSales 選取 DateAdd ("YYYY",-1,[DateofSale])做為運算式 1;

透過將1年減去到欄位 "DateofSale" 的日期值,傳回結果。

選取 DateAdd ("d",10,[DateofSale])作為 NewDate (來自 ProductSales);

透過在欄位 "DateofSale" 的日期值加上10天,傳回欄 "NewDate" 中的結果。

選取 DateAdd ("ww",-1,[DateofSale])作為 NewDate 從 ProductSales 中;

在 "NewDate" 欄中,從「DateofSale」欄位的日期值減去1周(7天),以傳回資料行中的結果。

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

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

請參閱

選擇正確的日期函數

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×