Delen via


Datumgegevenstype (Visual Basic)

Bevat IEEE 64-bits (8-byte) waarden die datums vertegenwoordigen van 1 januari van het jaar 0001 tot en met 31 december 9999 en tijden van 12:00:00 uur (middernacht) tot en met 11:59:59.9999999. Elke verhoging vertegenwoordigt 100 nanoseconden van verstreken tijd sinds het begin van 1 januari van het jaar 1 in de Gregoriaanse kalender. De maximumwaarde vertegenwoordigt 100 nanoseconden vóór 1 januari 10000.

Opmerkingen

Gebruik het Date gegevenstype om datumwaarden, tijdwaarden of datum- en tijdwaarden te bevatten.

De standaardwaarde Date is 0:00:00 (middernacht) op 1 januari 0001.

U kunt de huidige datum en tijd ophalen uit de DateAndTime klas.

Indelingsvereisten

U moet een Date letterlijke waarde tussen cijfertekens (# #) insluiten. U moet bijvoorbeeld de datumwaarde opgeven in de notatie M/d/jjjj #5/31/1993#of jjjj-MM-dd #1993-5-31#. U kunt slashes gebruiken wanneer u het eerste jaar opgeeft. Deze vereiste is onafhankelijk van uw landinstellingen en de datum- en tijdnotatie-instellingen van uw computer.

De reden voor deze beperking is dat de betekenis van uw code nooit mag veranderen, afhankelijk van de landinstelling waarin uw toepassing wordt uitgevoerd. Stel dat u een Date letterlijke code #3/4/1998# van en van plan bent om 4 maart 1998 te betekenen. In een landinstelling die gebruikmaakt van mm/dd/jjjj, compileert 3-4-1998 zoals u wilt. Stel dat u uw toepassing in veel landen/regio's implementeert. In een landinstelling die dd/mm/jjjj gebruikt, wordt uw letterlijke letterlijke code gecompileerd tot 3 april 1998. In een landinstelling die gebruikmaakt van jjjj/mm/dd, is de letterlijke tekst ongeldig (april 1998, 0003) en veroorzaakt een compilerfout.

Tijdelijke oplossingen

Als u een Date letterlijke waarde wilt converteren naar de indeling van uw landinstelling of naar een aangepaste notatie, geeft u de letterlijke waarde op aan de Format functie, waarbij u een vooraf gedefinieerde of door de gebruiker gedefinieerde datumnotatie opgeeft. In het volgende voorbeeld ziet u dit.

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

U kunt ook een van de overbelaste constructors van de DateTime structuur gebruiken om een datum- en tijdwaarde samen te stellen. In het volgende voorbeeld wordt een waarde gemaakt voor 31 mei 1993 om 12:14 in de middag.

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

Uurnotatie

U kunt bijvoorbeeld de tijdwaarde opgeven in de notatie van 12 uur of 24 uur.#1:15:30 PM# #13:15:30# Als u echter niet de minuten of seconden opgeeft, moet u AM of PM opgeven.

Standaardwaarden voor datum en tijd

Als u geen datum in een letterlijke datum/tijd opneemt, stelt Visual Basic het datumgedeelte van de waarde in op 1 januari 0001. Als u geen tijd opneemt in een letterlijke datum/tijd, stelt Visual Basic het tijdgedeelte van de waarde in op het begin van de dag, dat wil gezegd: middernacht (0:00:00).

Typeconversies

Als u een Date waarde converteert naar het String type, geeft Visual Basic de datum weer volgens de korte datumnotatie die is opgegeven door de landinstelling voor runtime en wordt de tijd weergegeven volgens de tijdnotatie (12 uur of 24 uur) die is opgegeven door de landinstelling voor runtime.

Programmeertips

  • Overwegingen voor interoperabiliteit. Als u met onderdelen werkt die niet zijn geschreven voor .NET Framework, bijvoorbeeld Automation- of COM-objecten, moet u er rekening mee houden dat datum-/tijdtypen in andere omgevingen niet compatibel zijn met het Visual Basic-type Date . Als u een datum/tijd-argument doorgeeft aan een dergelijk onderdeel, declareert u dit als Double in plaats van Date in de nieuwe Visual Basic-code en gebruikt u de conversiemethoden DateTime.FromOADate en DateTime.ToOADate.

  • Typ tekens.Date heeft geen letterlijk type teken of id-type teken. De compiler behandelt echter letterlijke tekens tussen getaltekens (# #) als Date.

  • Type framework. Het bijbehorende type in .NET Framework is de System.DateTime structuur.

Opmerking

Een variabele of constante van het Date gegevenstype bevat zowel de datum als de tijd. In het volgende voorbeeld ziet u dit.

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

Zie ook