DateAndTime.DateAdd 方法

定义

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

重载

DateAdd(DateInterval, Double, DateTime)

返回一个值,其中包含已添加指定时间间隔的日期和时间值。

DateAdd(String, Double, Object)

返回一个值,其中包含已添加指定时间间隔的日期和时间值。

DateAdd(DateInterval, Double, DateTime)

返回一个值,其中包含已添加指定时间间隔的日期和时间值。

public:
 static DateTime DateAdd(Microsoft::VisualBasic::DateInterval Interval, double Number, DateTime DateValue);
public static DateTime DateAdd (Microsoft.VisualBasic.DateInterval Interval, double Number, DateTime DateValue);
static member DateAdd : Microsoft.VisualBasic.DateInterval * double * DateTime -> DateTime
Public Function DateAdd (Interval As DateInterval, Number As Double, DateValue As DateTime) As DateTime

参数

Interval
DateInterval

必需。 表示要加上的时间间隔的 DateInterval 枚举值或字符串表达式。

Number
Double

必需。 表示希望添加的时间间隔数的浮点表达式。 可以为正数(此时将获取今后的日期/时间值),也可以为负数(此时将获取过去的日期/时间值)。 在 Interval 指定小时、分钟或秒时,该参数可以包含小数部分。 对于其他类型的 Interval 值,将忽略 Number 的所有小数部分。

DateValue
DateTime

必需。 表示要在其基础上加上此时间间隔的日期和时间的表达式。 DateValue 本身在调用程序中并未改变。

返回

包含已添加指定时间间隔的日期和时间值的值。

例外

DateValue 并不强制为 Date

Interval 无效。

计算所得日期早于元年 1 月 1 日 00:00:00,或晚于 9999 年 12 月 31 日 23:59:59。

示例

此示例采用日期,并使用 DateAdd 函数显示未来指定月数的相应日期。

Dim dateEntered As String =
InputBox("Enter a date", DefaultResponse:=Date.Now.ToShortDateString)
Dim monthsEntered As String =
InputBox("Enter number of months to add", DefaultResponse:="12")

Dim dateValue As Date = Date.Parse(dateEntered)
Dim monthsValue As Integer = Integer.Parse(monthsEntered)

' Add the months to the date.
Dim newDate As Date = DateAdd(DateInterval.Month, monthsValue, dateValue)

' This statement has a string interval argument, and
' is equivalent to the above statement.
'Dim newDate As Date = DateAdd("m", monthsValue, dateValue)

MessageBox.Show("New date: " & newDate.ToShortDateString)

注解

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

若要将天数添加到 DateValue,可以使用 DateInterval.DayDateInterval.DayOfYearDateInterval.Weekday。 它们被视为等效项,因为 DayOfYearWeekday 不是有意义的时间间隔。

函数 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使用 命名空间中 类的 CultureInfo 属性中的System.Globalization当前日历设置CurrentCulture。 默认值CurrentCulture控制面板设置确定。

由于结构支持DateTime每个Date值,因此其方法提供了添加时间间隔的其他选项。 例如,可以将天数的小数(舍入到最接近的毫秒)添加到变量, Date 如下所示:

Dim NextTime As Date = Now        ' Current date and time.  
NextTime = NextTime.AddDays(3.4)  ' Increment by 3 2/5 days.  

参数 Interval 可以具有以下设置之一。

枚举值 String 要添加的时间间隔单位
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 年;截断为整型值

另请参阅

适用于

DateAdd(String, Double, Object)

返回一个值,其中包含已添加指定时间间隔的日期和时间值。

public:
 static DateTime DateAdd(System::String ^ Interval, double Number, System::Object ^ DateValue);
public static DateTime DateAdd (string Interval, double Number, object? DateValue);
public static DateTime DateAdd (string Interval, double Number, object DateValue);
static member DateAdd : string * double * obj -> DateTime
Public Function DateAdd (Interval As String, Number As Double, DateValue As Object) As DateTime

参数

Interval
String

必需。 表示要加上的时间间隔的 DateInterval 枚举值或字符串表达式。

Number
Double

必需。 表示希望添加的时间间隔数的浮点表达式。 Number 可以为正数(此时将获取今后的日期/时间值),也可以为负数(此时将获取过去的日期/时间值)。 在 Interval 指定小时、分钟或秒时,该参数可以包含小数部分。 对于其他类型的 Interval 值,将忽略 Number 的所有小数部分。

DateValue
Object

必需。 表示要在其基础上加上此时间间隔的日期和时间的表达式。 DateValue 本身在调用程序中并未改变。

返回

包含已添加指定时间间隔的日期和时间值的值。

例外

DateValue 并不强制为 Date

Interval 无效。

计算所得日期早于元年 1 月 1 日 00:00:00,或晚于 9999 年 12 月 31 日 23:59:59。

示例

此示例采用日期,并使用 DateAdd 函数显示未来指定月数的相应日期。

Dim dateEntered As String =
InputBox("Enter a date", DefaultResponse:=Date.Now.ToShortDateString)
Dim monthsEntered As String =
InputBox("Enter number of months to add", DefaultResponse:="12")

Dim dateValue As Date = Date.Parse(dateEntered)
Dim monthsValue As Integer = Integer.Parse(monthsEntered)

' Add the months to the date.
Dim newDate As Date = DateAdd(DateInterval.Month, monthsValue, dateValue)

' This statement has a string interval argument, and
' is equivalent to the above statement.
'Dim newDate As Date = DateAdd("m", monthsValue, dateValue)

MessageBox.Show("New date: " & newDate.ToShortDateString)

注解

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

若要将天数添加到 DateValue,可以使用 DateInterval.DayDateInterval.DayOfYearDateInterval.Weekday。 它们被视为等效项,因为 DayOfYearWeekday 不是有意义的时间间隔。

函数 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使用 命名空间中 类的 CultureInfo 属性中的System.Globalization当前日历设置CurrentCulture。 默认值CurrentCulture控制面板设置确定。

由于结构支持DateTime每个Date值,因此其方法提供了添加时间间隔的其他选项。 例如,可以将天数的小数(舍入到最接近的毫秒)添加到变量, Date 如下所示:

Dim NextTime As Date = Now        ' Current date and time.  
NextTime = NextTime.AddDays(3.4)  ' Increment by 3 2/5 days.  

参数 Interval 可以具有以下设置之一。

枚举值 String 要添加的时间间隔单位
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 年;截断为整型值

另请参阅

适用于