TimeSerial 函式 (Visual Basic)
更新:2007 年 11 月
傳回代表指定的時、分和秒並將日期資訊設定為 1 年 1 月 1 日的 Date 值。
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 函式會傳回表示中午前三個小時 15 分鐘或上午 8:45:00 的時間。
Dim alarmTime As Date = TimeSerial(12 - 3, -15, 0)
如果 Minute 或 Second 超過正常範圍,將套用至下一個較大的適當單位。例如,如果您指定 75 分鐘,則會評估為一個小時又 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 錯誤。
因為 System.DateTime 結構可支援每一個 Date 值,所以其方法在組合 Date 值時,可為您提供一些額外的選項。例如,您可以運用任一多載 DateTime 建構函式 (Constructor),使用想要之元件組合填入 (Populate) 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)
需求
命名空間 (Namespace)︰Microsoft.VisualBasic
**模組︰**DateAndTime
組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)