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 の構造化例外処理の概要 に置き換えることを検討してください。

解説

負の値、0、および正の値の引数を次に示します。TimeSerial 関数は、正午の 3 時間前の 15 分前の時刻 (8:45:00 午前) を返します。

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

Minute または Second が通常の範囲を超えた場合は、その上の単位に繰り上げられます。たとえば、引数 Minute に 75 を指定した場合は、1 時間と 15 分として評価されます。

TimeSerial は、合計秒数に対する 86,400 (1 日の秒数) の剰余をとります。したがって、返される時刻は常に 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 コンストラクタの 1 つを使用し、コンポーネントを任意に組み合わせて日付型 (Date) の変数を設定できます。newDateTime に 1978 年 5 月 6 日午前 8:30 の 0.1 秒前を設定する例を次に示します。

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)