2024年2月3日发(作者:)

DateAdd 函数

返回变量型(日期型),其中包含已添加了指定时间间隔的日期。

语法

DateAdd(interval, number, date)

DateAdd 函数的语法包含以下参数:

参数 说明

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

number

必选。数值表达式,标识要添加的间隔数。它可以为正(以获

取将来的日期)也可以为负(以获取过去的日期)。

date 必选。变量型(日期型)或文字,表示已添加间隔的日期。

设置

interval 包含以下设置:

设置 说明

yyyy 年

q 季度

m 月

y 某年的某一天

d 天

w 工作日

ww 周

h 时

n 分

s 秒

注解

可以使用 DateAdd 函数向日期添加指定的时间间隔或从日期减去指定的

时间间隔。例如,可以使用 DateAdd 计算距离今天 30 天的日期或距离现在 45

分钟的时间。

若要向 date 添加天数,可以使用“某年的某一天”("y")、“日”("d") 或

“工作日”("w")。

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

月:

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

在本例中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31

日。

如果 date 为 96 年 1 月 31 日,则该函数返回 96 年 2 月 29

日,因为 1996

年为闰年。

如果计算后的日期在 100 年前(即减去的年数大于 date 中的年数),则

会出错。

如果 number 不是Long 类型的值,则会在求值前将其四舍五入为最近的整

数。

注释 DateAdd 的返回值的格式由“控制面板”设置决定,而不是由在 date

参数中传递的格式决定。

注释 对于 date,如果 Calendar 属性设置为公历,则提供的日期必须为

公历。如果日历为回历,则提供的日期必须为回历。如果月份值为名称,则名

称必须与当前 Calendar 属性设置一致。若要最小化月份名称与当前

Calendar

属性设置冲突的可能性,请输入数字的月份值(短日期格式)。

示例

注释 以下示例演示了此功能在 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

其它示例:

1、三个月前的今天:=DateAdd("m",-3,Date())

2、三年前的今天:=DateAdd("yyyy",-3,Date())

3、指定日期三年前的日期:=DateAdd("yyyy",-3,[日期])

4、SQL 中使用: