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