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 的值加入所计算的分钟,因此负值指定该分钟前的某几秒。
异常
异常类型 |
错误号 |
条件 |
---|---|---|
参数超出范围 -2,147,483,648 到 2,147,483,647。 |
||
计算所得的时间小于负 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)
要求
**模块:**DateAndTime
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)