DateSerial-Funktion (Visual Basic)

Aktualisiert: November 2007

Gibt einen Date-Wert zurück, der ein bestimmtes Jahr, einen bestimmten Monat und einen bestimmten Tag angibt und dessen Zeitangabe Mitternacht (00:00:00) lautet.

Public Function DateSerial( _
   ByVal [Year] As Integer, _
   ByVal [Month] As Integer, _
   ByVal [Day] As Integer _
) As DateTime

Parameter

  • Year
    Erforderlich. Integer-Ausdruck mit einem Wert von 1 bis 9999, wobei jedoch auch Werte unterhalb dieses Bereichs akzeptiert werden. Wenn Year im Bereich von 0 bis 99 liegt, wird das Argument als Wert zwischen 1930 und 2029 interpretiert, wie unten im Abschnitt "Hinweise" erläutert. Ist Year kleiner als 1, wird es vom aktuellen Jahr subtrahiert.

  • Month
    Erforderlich. Integer-Ausdruck mit einem Wert von 1 bis 12, wobei jedoch auch Werte außerhalb dieses Bereichs akzeptiert werden. Der Wert von Month wird um 1 verringert und auf den Januar des berechneten Jahres angewendet. Anders ausgedrückt: (Month – 1) wird zu Januar addiert. Falls erforderlich, wird das Jahr neu berechnet. Die folgenden Ergebnisse veranschaulichen diesen Effekt:

    • Wenn Month gleich 1 ist, ist das Ergebnis der Januar des berechneten Jahres.

    • Ist Month gleich 0, ist das Ergebnis der Dezember des vorherigen Jahres.

    • Wenn Month gleich –1 ist, ist das Ergebnis der November des vorherigen Jahres.

    • Ist Month gleich 13, ist das Ergebnis der Januar des folgenden Jahres.

  • Day
    Erforderlich. Integer-Ausdruck mit einem Wert von 1 bis 31, wobei jedoch auch Werte außerhalb dieses Bereichs akzeptiert werden. Der Wert von Day wird um 1 verringert und auf den ersten Tag des berechneten Monats angewendet. Anders ausgedrückt: (Day – 1) wird zum Monatsersten addiert. Falls erforderlich, werden der Monat und das Jahr neu berechnet. Die folgenden Ergebnisse veranschaulichen diesen Effekt:

    • Wenn Day gleich 1 ist, ist das Ergebnis der erste Tag des berechneten Monats.

    • Ist Day gleich 0, ist das Ergebnis der letzte Tag des vorherigen Monats.

    • Wenn Day gleich –1 ist, ist das Ergebnis der vorletzte Tag des vorherigen Monats.

    • Wenn Day das Ende des aktuellen Monats überschreitet, ist das Ergebnis der entsprechende Tag des nächsten Monats. Beispiel: Wenn Month gleich 4 und Day gleich 31 ist, ist das Ergebnis der 1. Mai.

Hinweise

In Windows 98 oder Windows 2000 werden zweistellige Jahresangaben für das Year-Argument gemäß den benutzerdefinierten Computereinstellungen interpretiert. Gemäß den Standardeinstellungen werden Werte von 0 bis einschließlich 29 als die Jahre 2000 bis 2029 interpretiert und Werte von 30 bis einschließlich 99 als die Jahre 1930 bis 1999. Verwenden Sie für alle anderen Year-Argumente eine vierstellige Jahresangabe, z. B. 1924.

In früheren Versionen von Windows werden zweistellige Jahresangaben gemäß den weiter oben beschriebenen Standardeinstellungen interpretiert. Um sicherzustellen, dass die Funktion den korrekten Wert zurückgibt, verwenden Sie eine vierstellige Jahresangabe für Year.

Das folgende Beispiel veranschaulicht die Verwendung eines negativen und eines positiven Werts sowie des Werts 0 für das Argument. Hier gibt die DateSerial-Funktion einen Date-Wert zurück, der den Tag vor dem ersten Tag im März des Jahres darstellt, das zehn Jahre vor dem aktuellen Jahr liegt. Anders ausgedrückt: Die Funktion gibt den letzten Tag im Februar vor zehn Jahren zurück.

Dim EndFeb As Date = DateSerial(-10, 3, 0)

Wenn Month oder Day den normalen Wertbereich überschreitet, wird der Wert entsprechend auf die nächstgrößere Einheit angewendet. Wenn Sie beispielsweise 32 Tage angeben, wird dieser Wert als 1 Monat und 1 bis 4 Tage interpretiert, je nach dem Wert von Month. Wenn Year größer als 9999 ist oder eines der Argumente außerhalb des Bereichs von –2.147.483.648 bis 2.147.483.647 liegt, tritt ein ArgumentException-Fehler auf. Wenn das durch die drei Argumente angegebene Datum vor 00:00:00 Uhr am 1. Januar des Jahres 1 bzw. nach 23:59:59 Uhr am 31. Dezember 9999 liegt, tritt ein ArgumentOutOfRangeException-Fehler auf.

Der Date-Datentyp enthält Zeitkomponenten. Diese werden durch DateSerial auf 0 festgelegt, sodass der zurückgegebene Wert den Beginn des berechneten Tages darstellt.

Da jeder Date-Wert durch eine 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 DateSerial-Funktion verwendet, um das entsprechende Datum für das angegebene Jahr, den Monat und den Tag zurückzugeben.

Dim MyDate As Date
' MyDate contains the date for February 12, 1969.
MyDate = DateSerial(1969, 2, 12)   ' Return a date.

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**DateAndTime

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Siehe auch

Referenz

DateValue-Funktion (Visual Basic)

Day-Funktion (Visual Basic)

Month-Funktion (Visual Basic)

Now-Eigenschaft

TimeSerial-Funktion (Visual Basic)

TimeValue-Funktion (Visual Basic)

Weekday-Funktion (Visual Basic)

Year-Funktion (Visual Basic)

Date-Datentyp (Visual Basic)

System