DateAdd 函数

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

语法

DateAdd(interval, number, date)

DateAdd 函数语法包含以下命名参数

Part 说明
interval 必需。 作为要添加的时间间隔的字符串表达式
number 必需。 作为要添加的时间间隔数的数值表达式。 它可以为正(获取将来日期)或为负(获取过去的日期)。
date 必需。 Variant (Date) 或文本,表示添加间隔的日期。

设置

interval参数具有以下设置:

Setting 说明
yyyy
q 季度
m
y 每年的某一日
d
w 工作日
ww
h 小时
n 分钟
s

注解

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

若要将天数添加到 date,可以使用年份中的某一天(“y”)、天(“d”)或工作日(“w”)。

注意

在使用“w”时间间隔(包括一周的所有天,从星期日到星期六)向日期添加天数时,DateAdd 函数会向日期添加您指定的总天数,而不是像您预期的那样仅向日期添加工作日(从星期一到星期五)数。

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

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

在此情况下,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。 如果 date 为 1996 年 1 月 31 日,则它将返回 1996 年 2 月 29 日,因为 1996 年是闰年。

如果计算的日期位于年份数 100 前(即,你减去的年份数大于 date 中的年份,则出现错误。

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

注意

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

注意

对于 date,如果 Calendar 属性设置为公历,则提供的日期必须为公历。 如果日历为回历,则提供的日期必须为回历。 如果月份值为名称,则名称必须与当前的 Calendar 属性设置保持一致。 若要最大程度地减小月份名称与当前的 Calendar 属性设置发生冲突的可能性,请输入数字月份值(短日期格式)。

示例

此示例采用一个日期并使用 DateAdd 函数显示指定月数后的对应日期。

Dim FirstDate As Date    ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg As String
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 VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。