Функция DateAdd (Visual Basic)

Обновлен: Ноябрь 2007

Возвращает значение 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 может принимать одно из следующих значений.

Значение перечисления

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

Год; отбрасывается дробная часть, остается целое значение

Исключения

Тип исключения

Номер ошибки

Условия

InvalidCastException

13

DateValue не может быть приведен к Date.

ArgumentException

5

Недопустимое значение параметра Interval.

ArgumentOutOfRangeException

9

Вычисленная дата приходится на период до 00:00:00 1 января 1 года или позже 23:59:59 31 декабря 9999 года.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако, по возможности, следует заменять такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.

Заметки

Функция DateAdd используется для добавления или вычитания из некоторой даты указываемого периода времени. Например, можно вычислить дату, которая наступит через 30 дней, или время за 45 минут до данного момента.

Для прибавления дней к DateValue можно использовать DateInterval.Day, DateInterval.DayOfYear или DateInterval.Weekday. Они считаются эквивалентными, потому что DayOfYear и Weekday не являются значимыми временными интервалами.

Функция DateAdd никогда не возвращает недопустимую дату. При необходимости день в конечной дате приводится к последнему дню конечного месяца конечного года. В следующем примере к 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 — високосный год.

hcxe65wz.alert_note(ru-ru,VS.90).gifПримечание.

DateAdd использует текущую настройку календаря из свойства CurrentCulture класса CultureInfo в пространстве имен System.Globalization. По умолчанию значения CurrentCulture определяются настройками Control Panel.

Поскольку все значения 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)

Требования

Пространство имен: Microsoft.VisualBasic

Модуль: DateAndTime

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Ссылки

Функция DateDiff (Visual Basic)

Функция DatePart (Visual Basic)

Функция Day (Visual Basic)

Функция Format

Свойство Now

Функция Weekday (Visual Basic)

Функция Year (Visual Basic)

Тип данных Date (Visual Basic)

System