Freigeben über


Date-Datentyp (Visual Basic)

Aktualisiert: November 2007

Enthält 64-Bit-(8-Byte-)Werte nach IEEE, die Datumsangaben im Bereich vom 01. Januar des Jahres 1 bis zum 31. Dezember 9999 und Uhrzeiten von 12:00:00 morgens (Mitternacht) bis 11:59:59.9999999 abends darstellen. Dabei stellt ein Inkrement einen Zeitabschnitt von 100 Nanosekunden dar, der seit Beginn des 1. Januar des Jahres 1 des gregorianischen Kalenders abgelaufen ist. Der maximale Wert stellt 100 Nanosekunden vor Beginn des 1. Januar des Jahres 10000 dar.

Hinweise

Verwenden Sie den Date-Datentyp für Datumswerte, Zeitwerte oder Datums- und Zeitwerte.

Der Standardwert von Date ist 0:00:00 (Mitternacht) des 1. Januar 0001.

Formatanforderungen

Sie müssen ein Date-Literal zwischen Nummernzeichen (# #) einfügen. Sie müssen den Datumswert im Format M/t/jjjj (z. B. #5/31/1993#) angeben. Diese Anforderung ist vom Gebietsschema sowie den Formateinstellungen für Datum und Uhrzeit des Computers unabhängig.

Grund für diese Einschränkung ist, dass sich die Bedeutung des Codes je nach dem Gebietsschema, in dem die Anwendung ausgeführt wird, niemals ändern soll. Angenommen, das Date-Literal #3/4/1998#, das den 4. März 1998 angeben soll, wird fest programmiert. In einem Gebietsschema, das mm/tt/jjjj verwendet, wird 3/4/1998 wie gewünscht kompiliert. Nehmen Sie nun aber einmal an, dass die Anwendung in vielen Ländern bereitgestellt wird. In einem Gebietsschema, das tt/mm/jjjj verwendet, würde das fest programmierte Literal als 3. April 1998 kompiliert. In einem Gebietsschema, das jjjj/mm/tt verwendet, wäre das Literal ungültig (April 1998, 0003) und würde einen Compilerfehler verursachen.

Problemumgehung

Um ein Date-Literal in das Format Ihres Gebietsschemas oder in ein benutzerdefiniertes Format zu konvertieren, müssen Sie das Literal der Format-Funktion zur Verfügung stellen, indem Sie entweder Vordefinierte Datums-/Zeitformate (Format-Funktion) oder Benutzerdefinierte Datums-/Zeitformate (Format-Funktion) angeben. Das folgende Beispiel veranschaulicht dies.

MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))

Alternativ können Sie einen der überladenen Konstruktoren der DateTime-Struktur verwenden, um ein Datums- und einen Zeitwert zu assemblieren. Im folgenden Beispiel wird ein Wert erstellt, der 12:14 nachmittags am 31. Mai 1993 darstellt.

Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)

Stundenformat

Sie können den Zeitwert entweder im 12-Stunden- oder im 24-Stunden-Format (z. B. #1:15:30 PM# oder #13:15:30#) angeben. Wenn Sie jedoch weder die Minuten noch die Sekunden angeben, müssen Sie AM oder PM angeben.

Standardwerte für Datum und Uhrzeit

Wenn Sie in einem Datum-/Uhrzeitliteral kein Datum eingeben, legt Visual Basic für den Datumsteil den 1. Januar 0001 fest. Wenn Sie in einem Datum-/Uhrzeitliteral keine Uhrzeit eingeben, legt Visual Basic dafür den Beginn des Tages, also Mitternacht (0:00:00 Uhr) fest.

Typkonvertierung

Wenn Sie einen Date-Wert in den String-Typ konvertieren, gibt Visual Basic das Datum in dem kurzen Datumsformat wieder, das vom Laufzeitgebietsschema angegeben wird. Die Zeit wird in dem Zeitformat (entweder 12-Stunden- oder 24-Stunden-Format) wiedergegeben, das vom Laufzeitgebietsschema angegeben wird.

Programmiertipps

  • Interop-Überlegungen. Wenn eine Schnittstelle mit Komponenten vorhanden ist, die nicht für .NET Framework geschrieben wurden (z. B. Automatisierungs- oder COM-Objekte), ist zu beachten, dass Datums-/Zeittypen in anderen Umgebungen nicht mit dem Visual Basic-Typ Date kompatibel sind. Wenn Sie ein Datums-/Zeitargument an eine solche Komponente übergeben, müssen Sie es im neuen Visual Basic-Code als Double und nicht als Date deklarieren und die Konvertierungsmethoden DateTime.FromOADate und DateTime.ToOADate verwenden.

  • **Typzeichen.**Date hat kein Literaltypzeichen oder Typkennzeichen. Der Compiler behandelt Literale, die in doppelte Nummernzeichen (# #) eingeschlossen sind, jedoch als Date.

  • Frameworktyp. Der entsprechende Typ in .NET Framework ist die System.DateTime-Struktur.

Beispiel

Eine Variable oder Konstante des Date-Datentyps enthält sowohl das Datum als auch die Zeit. Dies wird anhand des folgenden Beispiels veranschaulicht:

Dim someDateAndTime As Date = #8/13/2002 12:14 PM#

Siehe auch

Konzepte

Effiziente Verwendung von Datentypen

Änderungen an Datentypen für Visual Basic 6.0-Benutzer

Referenz

Datentyp: Zusammenfassung (Visual Basic)

System.DateTime

Funktionen für die Typkonvertierung

Konvertierung: Zusammenfassung