DateAdd 函数

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

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

语法

DateAdd(interval, number, date)

函数 DateAdd 具有以下参数:

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

“设置”

参数 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年数多,则会发生错误。

如果 number 不是 Long 值,则 Access 在计算表达式之前将其舍入到最接近的整数。

注意

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

注意

对于 date,如果 Calendar 属性设置为公历,则提供的日期必须为公历。 如果日历为 Hijri,则提供的日期必须为 Hijri。 如果 month 值是名称,则名称必须与当前 Calendar 属性设置匹配。 若要降低发生冲突的可能性,请以“短日期”格式输入数字月份值。

查询示例

Expression 结果
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; 向字段中的日期值添加 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

另请参阅

选择正确的日期函数