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

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

Возвращает значение типа Date, представляющее заданный год, месяц и день с временем, установленным на полночь (00:00:00).

Public Function DateSerial( _
   ByVal [Year] As Integer, _
   ByVal [Month] As Integer, _
   ByVal [Day] As Integer _
) As DateTime

Параметры

  • Year
    Обязательно. Выражение типа Integer со значениями от 1 до 9999. Однако допустимы также и значения, находящиеся за пределами этого диапазона. Как объясняется далее в разделе "Примечания", значение параметра Year от 0 до 99 представляет соответствующий год в диапазоне от 1930 до 2029. Если значение параметра Year меньше 1, оно вычитается из текущего года.

  • Month
    Обязательно. Выражение типа Integer со значениями от 1 до 12. Однако допустимы также и значения, находящиеся за пределами этого диапазона. Значение параметра Month смещается на 1 и применяется к январю вычисляемого года. Другими словами, к январю добавляется значение (Month - 1). При необходимости год вычисляется заново. Следующие результаты поясняют этот эффект.

    • Если значение Month равно 1, то результатом вычислений будет январь расчетного года.

    • Если значение Month равно 0, то результатом вычислений будет декабрь предыдущего года.

    • Если значение Month равно -1, то результатом вычислений будет ноябрь предыдущего года.

    • Если значение Month равно 13, то результатом является январь следующего года.

  • Day
    Обязательно. Выражение типа Integer со значениями от 1 до 31. Однако допустимы также и значения, находящиеся за пределами этого диапазона. Значение аргумента Day смещается на 1 и применяется к первому дню расчетного месяца. Другими словами, к первому дню месяца добавляется значение (Day - 1). При необходимости месяц и год вычисляются заново. Следующие результаты поясняют этот эффект.

    • Если значение Day равно 1, то результатом вычислений будет первый день расчетного месяца.

    • Если значение Day равно 0, то результатом вычислений будет последний день предыдущего месяца.

    • Если значение Day равно -1, то результатом вычислений будет предпоследний день предыдущего месяца.

    • Если значение аргумента Day превышает число дней текущего месяца, результатом вычислений будет соответствующий день следующего месяца. Например, если значение параметра Month равно 4, а значение Day — 31, результатом вычислений будет 1 мая.

Заметки

В операционных системах Windows 98 и Windows 2000 двузначные обозначения года для аргумента Year интерпретируются в зависимости от пользовательских настроек компьютера. При параметрах по умолчанию значения от 0 до 29 интерпретируются как 2000-2029 гг., а значения от 30 до 99 — как 1930-1999 гг. Для всех остальных аргументов Year следует использовать четырехзначные значения года, например 1924.

В предыдущих версиях Windows двузначные обозначения года интерпретируются на основе стандартных параметров, описанных выше. Чтобы обеспечить возврат правильного значения функцией, используйте четырехзначные значения Year.

В следующем примере показано использование отрицательного, нулевого и положительного значений аргумента. Здесь функция DateSerial возвращает переменную типа Date, представляющую день, предшествующий первому дню марта за 10 лет до текущего года, т. е. последний день февраля десять лет назад.

Dim EndFeb As Date = DateSerial(-10, 3, 0)

Если значение аргумента Month или Day выходит за границы стандартного диапазона, оно переходит соответствующим образом в следующую большую единицу измерения. Например, если задано 32 дня, они выражаются как один месяц плюс 1-4 дня в зависимости от значения Month. Если значение Year больше 9999 или если какой-либо аргумент принимает значение вне диапазона от -2 147 483 648 до 2 147 483 647, возникает ошибка ArgumentException. Если дата, заданная тремя аргументами, приходится на период до 00:00:00 1 января 1 года или позже 23:59:59 31 декабря 9999 года, возникает ошибка ArgumentOutOfRangeException.

Тип данных Date включает компоненты времени. DateSerial устанавливает их всех равными 0, поэтому возвращаемое значение представляет начало вычисляемого дня.

Поскольку все значения Date поддерживаются структурой DateTime, ее методы предоставляют дополнительные возможности для компоновки значения типа Date. Например, можно использовать один из перегруженных конструкторов DateTime для заполнения переменной Date с помощью требуемой комбинацией компонентов. В следующем примере для переменной NewDateTime задается значение даты — 6 мая 1978 года и времени — 8:30 утра без одной десятой секунды.

Dim NewDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)

Пример

В этом примере функция DateSerial используется для возвращения даты для заданного года, месяца и дня.

Dim MyDate As Date
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12)   ' Return a date.

Требования

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

Модуль: DateAndTime

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

См. также

Ссылки

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

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

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

Свойство Now

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

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

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

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

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

System