DateAdd 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回一个 Variant (Date) 值,其中包含已添加了指定时间间隔的日期。

语法

DateAdd (interval, number, date)

DateAdd 函数语法具有以下参数:

参数 说明
interval 必需。 要添加的时间间隔的字符串表达式。
数量 必需。 要添加的间隔数的数值表达式。 获取未来) 的日期可以是正 (,也可以是负 (来获取过去) 的日期。
日期 必需。 变量 (日期) 或文本,表示将间隔添加到的日期。

“设置”

interval参数具有以下设置:

设置 说明
yyyy
q 季度
m
y 一年中的某一天
d
w Weekday
ww
h 小时
n 分钟
s

备注

可以使用 DateAdd 函数从日期中添加或减去指定的时间间隔。 例如,可以使用 DateAdd 计算从今天开始的 30 天的日期或从现在起计算 45 分钟后的时间。

若要添加 日期,可以使用 Day of Year (“y”) 、Day (“d”) 或 Weekday (“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 (即减去 日期) 的年份,则会发生错误。

如果 number 不是 Long 值,则会在计算之前舍入到最接近的整数。

注意

DateAdd 的返回值的格式由控制面板设置确定,而不是由日期参数中传递的格式决定。

注意

对于 date,如果 Calendar 属性设置为 Gregorian,则提供的日期必须为 Gregorian。 如果日历为 Hijri,则提供的日期必须为 Hijri。 如果月份值为名称,则名称必须与当前Calendar属性设置一致。 若要将月份名称与当前Calendar属性设置冲突的可能性降到最低,请) 短日期格式 (输入数字月份值。

查询示例

Expression 结果
SELECT DateAdd (“YYYY”,1,[DateofSale]) AS Expr1 FROM ProductSales; 通过将 1 年添加到字段“DateofSale”的日期值来返回结果。
SELECT DateAdd (“YYYY”,-1,[DateofSale]) AS Expr1 FROM ProductSales; 通过将 1 年减去字段“DateofSale”的日期值来返回结果。
SELECT DateAdd (“d”,10,[DateofSale]) AS NewDate FROM ProductSales; 通过将 10 天添加到字段“DateofSale”的日期值,返回“NewDate”列中的结果。
SELECT DateAdd (“ww”,-1,[DateofSale]) AS NewDate FROM ProductSales; 通过从“DateofSale”字段的日期值中减去 1 周 (7 天) ,返回“NewDate”列中的结果。

VBA 示例

注意

下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 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

另请参阅

选择正确的日期函数