Date-Datentyp (Visual Basic)

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.

Sie können das aktuelle Datum und die Uhrzeit von der DateAndTime-Klasse abrufen.

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, Sie möchten ein Date-Literal von #3/4/1998# hartcodieren, das für 4. März 1998 stehen soll. In einem Gebietsschema, für das mm/dd/yyyy verwendet wird, wird das Datum folgendermaßen dargestellt: 3/4/1998. Nehmen Sie nun aber einmal an, dass die Anwendung in vielen Ländern bereitgestellt wird. In einem Gebietsschema, für das dd/mm/yyyy verwendet wird, wird das hartcodierte Literal in das Datum "3. April 1998" kompiliert. In einem Gebietsschema, für das yyyy/mm/dd verwendet wird, 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 und dabei entweder ein vordefiniertes oder ein benutzerdefiniertes Datumsformat 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 kein Datum in ein Datums-/Uhrzeitliteral einschließen, legt Visual Basic den Datumsteil des Werts auf den 1. Januar (0001) fest. Wenn Sie keine Uhrzeit in ein Datums-/Uhrzeitliteral einschließen, legt Visual Basic den Uhrzeitteil des Werts auf den Beginn des Tages, das heißt Mitternacht (0:00:00) 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) gerendert, 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

Referenz

Datentyp: Zusammenfassung (Visual Basic)

System.DateTime

Funktionen für die Typkonvertierung (Visual Basic)

Konvertierung: Zusammenfassung (Visual Basic)

Konzepte

Effiziente Verwendung von Datentypen (Visual Basic)