TimeSerial-Funktion (Visual Basic)
Aktualisiert: November 2007
Gibt einen Date-Wert zurück, der eine bestimmte Stunde, Minute und Sekunde angibt und dessen Datum der 1. Januar des Jahres 1 ist.
Public Function TimeSerial( _
ByVal Hour As Integer, _
ByVal Minute As Integer, _
ByVal Second As Integer _
) As DateTime
Parameter
Hour
Erforderlich. Integer-Ausdruck mit einem Wert von 0 bis 23, wobei jedoch auch Werte außerhalb dieses Bereichs akzeptiert werden.Minute
Erforderlich. Integer-Ausdruck mit einem Wert von 0 bis 59, wobei jedoch auch Werte außerhalb dieses Bereichs akzeptiert werden. Der Wert von Minute wird zur berechneten Stunde addiert, sodass ein negativer Wert Minuten vor dieser Stunde angibt.Second
Erforderlich. Integer-Ausdruck mit einem Wert von 0 bis 59, wobei jedoch auch Werte außerhalb dieses Bereichs akzeptiert werden. Der Wert von Second wird zur berechneten Minute addiert, sodass ein negativer Wert Sekunden vor dieser Minute angibt.
Ausnahmen
Ausnahmetyp |
Fehlernummer |
Bedingung |
---|---|---|
Argument liegt nicht im Bereich zwischen –2.147.483.648 und 2.147.483.647 |
||
Errechnete Zeit ist kleiner als der Wert für –24 Stunden |
Beachten Sie die Spalte "Fehlernummer", wenn Sie Visual Basic 6.0-Anwendungen aktualisieren, die eine unstrukturierte Fehlerbehandlung verwenden. (Sie können die Fehlernummer mit der Number-Eigenschaft (Err-Objekt) vergleichen.) Wenn möglich, sollten Sie jedoch erwägen, eine solche Fehlersteuerung durch eine Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic zu ersetzen.
Hinweise
Das folgende Beispiel veranschaulicht die Verwendung eines negativen und eines positiven Werts sowie des Werts 0 für das Argument. Die TimeSerial-Funktion gibt die Uhrzeit für den Zeitpunkt 15 Minuten vor Ablauf der Stunde, die 3 Stunden vor dem Mittag liegt, zurück (also 08:45:00).
Dim alarmTime As Date = TimeSerial(12 - 3, -15, 0)
Wenn Minute oder Second den normalen Wertbereich überschreitet, wird der Wert entsprechend auf die nächstgrößere Einheit angewendet. Wenn Sie beispielsweise 75 Minuten angeben, wird dies als 1 Stunde und 15 Minuten interpretiert.
TimeSerial verringert die Summe der Sekunden modulo 86.400, also die Anzahl der Sekunden eines Tages. Der Rückgabewert für die Zeit liegt daher stets zwischen 00:00:00 und 23:59:59.
Der Date-Datentyp umfasst Datenkomponenten. TimeSerial setzt diese alle auf 1, sodass der zurückgegebene Wert den ersten Tag des Jahres 1 darstellt. Wenn die Werte der Argumente jedoch zur Folge haben, dass die berechnete Zeit 24 Stunden überschreitet, wird der passende später liegende Tag berechnet. Im folgenden Beispiel führen die Werte von Hour und Minute zu einer zusammengefassten Zeit, die größer ist als 24 Stunden.
MsgBox(TimeSerial(23, 75, 0))
' The preceding statement displays "1/2/0001 12:15:00 AM".
Wenn die Werte der Argumente bei der Berechnung zu einer negativen Zeit führen, wird die Datumsinformation auf 1/1/0001 festgelegt und die Zeitinformation auf Werte zwischen 00:00:00 und 23:59:59 angepasst. Beträgt die berechnete Zeit jedoch weniger als negative 24 Stunden, wird ein ArgumentOutOfRangeException-Fehler ausgelöst.
Da jeder Date-Wert durch eine System.DateTime-Struktur unterstützt wird, geben deren Methoden Ihnen zusätzliche Möglichkeiten zur Zusammenstellung eines Date-Werts. Sie können beispielsweise einen der überladenen DateTime-Konstruktoren verwenden, um eine Date-Variable mit der gewünschten Kombination von Komponenten zu füllen. Im folgenden Beispiel wird newDateTime auf den 6. Mai 1978 um eine Zehntelsekunde vor 08:30 Uhr morgens festgelegt:
Dim newDateTime As Date = New Date(1978, 5, 6, 8, 29, 59, 900)
Beispiel
In diesem Beispiel wird die TimeSerial-Funktion verwendet, um die entsprechende Zeit für die angegebenen Stunden, Minuten und Sekunden zurückzugeben.
Dim thisTime As Date
thisTime = TimeSerial(16, 35, 17)
Anforderungen
Namespace:Microsoft.VisualBasic
**Modul:**DateAndTime
**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Siehe auch
Referenz
DateSerial-Funktion (Visual Basic)
DateValue-Funktion (Visual Basic)