使用
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
函数 (Visual Basic for Applications)
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback。
提交和查看相关反馈