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

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

Возвращает значение Date, представляющее заданный час, минуту и секунду, при этом дата установлена относительно 1 января 1 года.

Public Function TimeSerial( _
   ByVal Hour As Integer, _
   ByVal Minute As Integer, _
   ByVal Second As Integer _
) As DateTime

Параметры

  • Hour
    Обязательно. Выражение типа Integer со значениями от 0 до 23. Однако допустимы также и значения, находящиеся за пределами этого диапазона.

  • Minute
    Обязательно. Выражение типа Integer со значениями от 0 до 59. Однако допустимы также и значения, находящиеся за пределами этого диапазона. Значение параметра Minute добавляется к вычисленному часу, поэтому отрицательное значение указывает минуты до наступления этого часа.

  • Second
    Обязательно. Выражение типа Integer со значениями от 0 до 59. Однако допустимы также и значения, находящиеся за пределами этого диапазона. Значение параметра Second добавляется к вычисленным минутам, поэтому отрицательное значение указывает секунды до наступления этой минуты.

Исключения

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

Номер ошибки

Условие

ArgumentException

5

Значение аргумента находится вне диапазона от -2 147 483 648 до 2 147 483 647.

ArgumentOutOfRangeException

9

Вычисленное время меньше, чем –24 (отрицательное значение) часа.

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

Заметки

В следующем примере показано использование отрицательного, нулевого и положительного значений аргумента. Функция TimeSerial возвращает время, представляющее 15 минут до трех часов до полудня, или 8:45:00 AM.

Dim alarmTime As Date = TimeSerial(12 - 3, -15, 0)

Если значение аргумента Minute или Second выходит за границы стандартного диапазона, оно переходит соответствующим образом в следующую большую единицу измерения. Например, если задать 75 минут, они выражаются как 1 час и 15 минут.

TimeSerial уменьшает полное число секунд по модулю 86 400, который равен количеству секунд в одном дне. Таким образом, возвращаемое значение времени всегда находится между 00:00:00 и 23:59:59.

Тип данных Date включает компоненты данных. TimeSerial задает для всех компонентов даты значение 1, и поэтому возвращаемое значение представляет первый день 1 года. Однако, если при имеющихся значениях аргументов вычисленное время превышает 24 часа, выполняется необходимое приращение количества дней. В следующем примере значения параметров Hour и Minute составляют вместе время, превышающее 24 часа.

MsgBox(TimeSerial(23, 75, 0)) 
' The preceding statement displays "1/2/0001 12:15:00 AM".

Если при заданных значениях аргументов получено отрицательное значение времени, для даты задается значение 1/1/0001, а время устанавливается между 00:00:00 и 23:59:59. Однако, если вычисленное время меньше -24 (отрицательное значение) часов, возникает ошибка ArgumentOutOfRangeException.

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

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

Пример

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

Dim thisTime As Date
thisTime = TimeSerial(16, 35, 17)

Требования

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

Модуль: DateAndTime

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

См. также

Ссылки

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

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

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

Функция Minute

Свойство Now

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

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