DateAdd 函数

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

语法

DateAdd ( interval、number、date )

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

参数

描述

interval

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

number

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

date

必需。 变体(日期) 或文本, 表示要向其添加时间间隔的日期。

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

设置

间隔 参数 具有以下设置:

设置

说明

yyyy

q

季度

m

y

一年中的某一天

d

w

Weekday

ww

h

小时

n

分钟

s

备注

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

若要向日期添加天, 可以使用一年中的第几天 ("y")、Day ("d") 或工作日 ("w")。

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

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

在这种情况下, DateAdd返回95年2月28日, 而不是2月31日-95。 如果date为96年1月31日, 则返回 96-02-, 因为1996是闰年。

如果计算日期早于 100 (即减去日期中的年数), 则会出现错误。

如果number不是长值, 则在计算前将其四舍五入为最接近的整数。

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

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

查询示例

表达式

结果

选择 DateAdd ("YYYY", 1, [DateofSale]) 作为从 ProductSales 的表达式 1;

通过将1年添加到字段 "DateofSale" 的日期值, 返回结果。

选择 DateAdd ("YYYY",-1, [DateofSale]) 作为从 ProductSales 的表达式 1;

通过将1年减去到字段 "DateofSale" 的日期值, 返回结果。

选择 "DateAdd" ("d", 10, [DateofSale]) 作为 NewDate FROM ProductSales;

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

选择 "DateAdd" ("ww",-1, [DateofSale]) 作为 NewDate FROM ProductSales;

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

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 支持专员。

×