Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

DateAndTime.DateAdd Method (String, Double, Object)

Returns a Date value containing a date and time value to which a specified time interval has been added.

Namespace:  Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)
public static DateTime DateAdd(
	string Interval,
	double Number,
	Object DateValue
)

Parameters

Interval
Type: System.String

Required. DateInterval enumeration value or String expression representing the time interval you want to add.

Number
Type: System.Double

Required. Double. Floating-point expression representing the number of intervals you want to add. Number can be positive (to get date/time values in the future) or negative (to get date/time values in the past). It can contain a fractional part when Interval specifies hours, minutes, or seconds. For other values of Interval, any fractional part of Number is ignored.

DateValue
Type: System.Object

Required. Date. An expression representing the date and time to which the interval is to be added. DateValue itself is not changed in the calling program.

Return Value

Type: System.DateTime
Returns a Date value containing a date and time value to which a specified time interval has been added.
ExceptionCondition
InvalidCastException

DateValue is not coercible to Date.

ArgumentException

Interval is not valid.

ArgumentOutOfRangeException

Calculated date is before 00:00:00 on January 1 of the year 1, or later than 23:59:59 on December 31, 9999.

You can use the DateAdd function to add or subtract a specified time interval from a date. For example, you can calculate a date 30 days from today or a time 45 minutes before now.

To add days to DateValue, you can use DateInterval.Day, DateInterval.DayOfYear, or DateInterval.Weekday. These are treated as equivalent because DayOfYear and Weekday are not meaningful time intervals.

The DateAdd function never returns an invalid date. If necessary, the day part of the resulting date is adjusted downward to the last day of the resulting month in the resulting year. The following example adds one month to January 31:

Dim NextMonth As Date = DateAdd(DateInterval.Month, 1, #1/31/1995#)

In this example, DateAdd returns #2/28/1995#, not #2/31/1995#. If DateValue is #1/31/1996#, it returns #2/29/1996# because 1996 is a leap year.

NoteNote

DateAdd uses the current calendar setting from the CurrentCulture property of the CultureInfo class in the System.Globalization namespace. The default CurrentCulture values are determined by Control Panel settings.

Since every Date value is supported by a DateTime structure, its methods give you additional options in adding time intervals. For example, you can add a fractional number of days, rounded to the nearest millisecond, to a Date variable as follows:

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

The Interval argument can have one of the following settings.

Enumeration value

String

Unit of time interval to add

DateInterval.Day

d

Day; truncated to integral value

DateInterval.DayOfYear

y

Day; truncated to integral value

DateInterval.Hour

h

Hour; rounded to nearest millisecond

DateInterval.Minute

n

Minute; rounded to nearest millisecond

DateInterval.Month

m

Month; truncated to integral value

DateInterval.Quarter

q

Quarter; truncated to integral value

DateInterval.Second

s

Second; rounded to nearest millisecond

DateInterval.Weekday

w

Day; truncated to integral value

DateInterval.WeekOfYear

ww

Week; truncated to integral value

DateInterval.Year

yyyy

Year; truncated to integral value

This example takes a date and, using the DateAdd function, displays a corresponding date a specified number of months in the future.

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)

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.