Share via


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 值會加至計算的分鐘中,因此負值指定該分鐘之前的秒數。

例外狀況

例外狀況類型

錯誤代碼

條件

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 的時間。

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 中)

請參閱

參考

DateSerial 函式 (Visual Basic)

DateValue 函式 (Visual Basic)

Hour 函式 (Visual Basic)

Minute 函式

Now 屬性

Second 函式 (Visual Basic)

TimeValue 函式 (Visual Basic)