Applies ToMicrosoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

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

语法

DateAdd ( interval, number, date )

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

参数

说明

interval

必需。 要添加的时间间隔的字符串表达式。

number

必需。 要添加的间隔数的数值表达式。 获取未来) 的日期可以是正 (,也可以是负 (来获取过去) 的日期。

date

必需。 变量 (日期) 或文本,表示将间隔添加到的日期。

设置

间隔 参数 具有以下设置:

设置

说明

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 的返回值的格式由控制面板设置决定,而不是由日期参数中传递的格式决定。

注意: 对于 日期,如果 Calendar 属性设置为公历,则提供的日期必须为公历。 如果日历为 Hijri,则提供的日期必须为 Hijri。 如果月份值是名称,则名称必须与当前 日历 属性设置一致。 若要尽量减少月名与当前 日历 属性设置冲突的可能性,请 (短日期格式) 输入数字月份值。

查询示例

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

另请参阅

选择正确的日期函数

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。