返回包含添加了指定时间间隔的日期 (日期) 的变体。
语法
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。 如果为 31-Jan-96,则 date 返回 29-Feb-96,因为 1996 年是闰年。
如果计算的日期早于 100 年,这意味着您减去的年份多于 中 的 date年份,则会出现错误。
如果不是 Long 值,Access number 会先将其四舍五入为最接近的整数,然后再计算表达式。
注意
返回DateAdd值的格式由控制面板设置决定,而不是由参数中date传递的格式决定。
注意
对于 date,如果属性设置为公历,则 Calendar 提供的日期必须是公历。 如果日历是回历,则提供的日期必须是回历。 如果月份值为名称,则名称必须与当前 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 的详细信息,请参阅 Access 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