TimeSerial 函数 (Visual Basic)

更新:2007 年 11 月

返回一个 Date 值,该值表示指定的小时、分钟和秒,其日期信息设置基点为元年 1 月 1 日。

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

参数

  • Hour
    必选。范围为 0 到 23 的 Integer 表达式。但也接受此范围之外的值。

  • Minute
    必选。范围为 0 到 59 的 Integer 表达式。但也接受此范围之外的值。Minute 的值加入所计算的小时,因此负值指定该小时前的某几分钟。

  • Second
    必选。范围为 0 到 59 的 Integer 表达式。但也接受此范围之外的值。Second 的值加入所计算的分钟,因此负值指定该分钟前的某几秒。

异常

异常类型

错误号

条件

ArgumentException

5

参数超出范围 -2,147,483,648 到 2,147,483,647。

ArgumentOutOfRangeException

9

计算所得的时间小于负 24 小时。

如果正在升级使用非结构化错误处理方式的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象) 比较错误号。) 然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述 替换这种错误控制。

备注

下面的示例展示了负数、零和正数参数值的用法。例如,TimeSerial 函数返回一个时间,它表示中午前 3 小时 15 分,即上午 08:45:00。

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

如果 Minute 或 Second 超过其正常值,则将它应用于下一相应的更大单位。例如,如果指定了 75(75 分钟),则计为 1 小时 15 分。

TimeSerial 减去总秒数模 86,400,这个模代表一天中的秒数。因此,返回值总在 00:00:00 与 23:59:59 之间。

Date 数据类型包括日期组件。TimeSerial 将所有这些值都设置为 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 设置为 1978 年 5 月 6 日上午 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)