DateAdd 函数

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

语法

DateAdd ( 间隔、数字、日期)

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

参数

说明

interval

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

number

必需。 数值表达式,即要添加的间隔数。 获取未来 () 日期或负值 (获取过去一) 。

date

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

提示: 在 Access 2010 中,表达式生成器IntelliSense,因此可以看到表达式需要哪些参数。 

设置

参数 具有以下设置:

设置

说明

yyyy

年份

q

季度

m

y

一年中的一天

d

w

Weekday

ww

h

小时

n

分钟

s

备注

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

若要向日期添加天数,可以使用年日 ("y") 、日 ("d") 或工作日 ("w") 。

DateAdd函数不会返回无效日期。 以下示例将一个月添加到 1 月 31 日:

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

在这种情况下 ,DateAdd 返回 28-Feb-95,而不是 31-Feb-95。 如果 日期为 96 年 1 月 31 日,则返回 96 年 2 月 29 日,因为 1996 是一个跃点年。

如果计算日期在 100 年或 100 年之前 (,则相减的年数比当前日期) ,则出现错误。

如果 number 不是 Long 值,则先将数字四舍五入到最接近的整数,然后再进行求值。

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

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

查询示例

表达式

结果

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;

通过向字段"DateofSale"的日期值添加 10 天,返回"NewDate"列中的结果。

SELECT DateAdd ("ww",-1,[DateofSale]) AS NewDate FROM ProductSales;

通过从字段"DateofSale"的日期值中减去 1 周 (7) ,返回"NewDate"列中的结果。

VBA 示例

注意: 以下示例演示了在 VBA Visual Basic for Applications (模块) 函数。 有关使用 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 支持专员。

×