DateAdd 函数 (Visual Basic)
更新:2007 年 11 月
返回一个 Date 值,其中包含已添加指定时间间隔的日期和时间值。
Public Overloads Function DateAdd( _
ByVal Interval As DateInterval, _
ByVal Number As Double, _
ByVal DateValue As DateTime _
) As DateTime
' -or-
Public Overloads Function DateAdd( _
ByVal Interval As String, _
ByVal Number As Double, _
ByVal DateValue As Object _
) As DateTime
参数
Interval
必需。表示要添加的时间间隔的 DateInterval 枚举值或 String 表达式。Number
必需。数据类型为 Double。表示要添加的间隔数目的浮点表达式。Number 可以是正数(获取将来的日期/时间值)或负数(获取过去的日期/时间值)。Number 的小数部分将被忽略。DateValue
必需。数据类型为 Date。表示要向其添加间隔的日期和时间的表达式。DateValue 本身在调用程序中不变。
设置
Interval 参数可以有以下设置之一。
枚举值 |
字符串 |
待添加时间间隔的单位 |
---|---|---|
DateInterval.Day |
d |
天;截断为整数值 |
DateInterval.DayOfYear |
y |
天;截断为整数值 |
DateInterval.Hour |
h |
小时;截断为整数值 |
DateInterval.Minute |
n |
分钟;截断为整数值 |
DateInterval.Month |
m |
月份;截断为整数值 |
DateInterval.Quarter |
q |
季度;截断为整数值 |
DateInterval.Second |
s |
秒;截断为整数值 |
DateInterval.Weekday |
w |
天;截断为整数值 |
DateInterval.WeekOfYear |
ww |
周;截断为整数值 |
DateInterval.Year |
yyyy |
年;截断为整数值 |
异常
异常类型 |
错误号 |
条件 |
---|---|---|
DateValue 并不强制为 Date。 |
||
Interval 无效。 |
||
计算所得日期早于元年 1 月 1 日 00:00:00,或晚于 9999 年 12 月 31 日 23:59:59。 |
如果正在升级使用非结构化错误处理方式的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象) 比较错误号。) 然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述 替换这种错误控制。
备注
可以使用 DateAdd 函数给日期加上或减去指定的时间间隔。例如,可以计算 30 天后的日期也可以计算 45 分钟前的时间。
若要将天数添加到 DateValue,可以使用 DateInterval.Day、DateInterval.DayOfYear 或 DateInterval.Weekday。可将这些视为是等效的,因为 DayOfYear 和 Weekday 不是有意义的时间间隔。
DateAdd 函数不返回无效日期。若有必要,结果日期的天部分可向后调整为结果年中结果月的最后一日。下面的示例将 1 月 31 日加上一个月:
Dim NextMonth As Date = DateAdd(DateInterval.Month, 1, #1/31/1995#)
本示例中,DateAdd 返回 #2/28/1995#,而非 #2/31/1995#。若 DateValue 是 #1/31/1996#,则返回 #2/29/1996#,因为 1996 年是闰年。
说明: |
---|
DateAdd 使用 System.Globalization 命名空间中的 CultureInfo 类的 CurrentCulture 属性的当前日历设置。默认 CurrentCulture 值由“控制面板”设置决定。 |
由于每个 Date 值都由 DateTime 结构支持,其方法在添加时间间隔时提供了附加选项。例如,可以将天的小数添加到 Date 变量(该小数四舍五入到毫秒),如下所示:
Dim NextTime As Date = Now ' Current date and time.
NextTime = NextTime.AddDays(3.4) ' Increment by 3 2/5 days.
示例
本示例取得一个日期,并使用 DateAdd 函数显示指定月份数以后的相应日期。
Dim Msg, Number, StartDate As String 'Declare variables.
Dim Months As Double
Dim SecondDate As Date
Dim IntervalType As DateInterval
IntervalType = DateInterval.Month ' Specifies months as interval.
StartDate = InputBox("Enter a date")
SecondDate = CDate(StartDate)
Number = InputBox("Enter number of months to add")
Months = Val(Number)
Msg = "New date: " & DateAdd(IntervalType, Months, SecondDate)
MsgBox(Msg)
要求
**模块:**DateAndTime
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)