Dátum adattípus (Visual Basic)
IEEE 64 bites (8 bájtos) értékeket tartalmaz, amelyek a 0001. év január 1-től a 9999. december 31-ig terjedő dátumokat jelölik, és 12:00:00-tól (éjféltől) 11:59:59.999999999-ig terjedő időpontokat jelölnek. Minden növekmény 100 nanoszekundumnyi eltelt időt jelöl az 1. év január 1-jei kezdete óta a Gergely-naptárban. A maximális érték 100 nanoszekundumot jelöl az 10000.
Megjegyzések
Az adattípussal Date
dátumértékeket, időértékeket, dátum- és időértékeket tartalmazhat.
Az alapértelmezett érték Date
0:00:00 (éjfél) 0001. január 1-jén.
Az aktuális dátumot és időt lekérheti az DateAndTime osztályból.
Formázási követelmények
A számjelek Date
(# #
) közé literálist kell befoglalnia. A dátumértéket M/d/yyyyy formátumban kell megadnia, például #5/31/1993#
yyyy-MM-dd formátumban.#1993-5-31#
Az év első megadásakor perjeleket is használhat. Ez a követelmény független a területi beállításoktól és a számítógép dátum- és időformátum-beállításaitól.
Ennek a korlátozásnak az az oka, hogy a kód jelentése soha nem változik attól függően, hogy melyik területi beállításban fut az alkalmazás. Tegyük fel, hogy Date
#3/4/1998#
1998. Az mm/dd/yyy függvényt használó területi beállításokban az 1998. 03. 4. Tegyük fel azonban, hogy az alkalmazást számos országban vagy régióban telepíti. A dd/mm/yyyyy-t használó területi beállításokban a rögzített literál 1998. április 3-ra lesz lefordítva. A yyyy/mm/dd értékeket használó területi beállításokban a literál érvénytelen lenne (1998. április, 0003.), és fordítóhibát okozna.
Kerülő megoldások
Ha konstanst Date
szeretne átalakítani a területi beállítások formátumára vagy egyéni formátumra, adja meg a Format függvény literálját, és adjon meg előre definiált vagy felhasználó által megadott dátumformátumot. Az alábbi példa ezt mutatja be.
MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))
Másik lehetőségként használhatja a szerkezet egyik túlterhelt konstruktorát DateTime egy dátum- és időérték összeállításához. Az alábbi példa egy értéket hoz létre, amely 1993. május 31-én délután 12:14-kor jelenik meg.
Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)
Óra formátuma
Az időértéket 12 órás vagy 24 órás formátumban adhatja meg, például #1:15:30 PM#
vagy #13:15:30#
. Ha azonban nem adja meg sem a perceket, sem a másodperceket, meg kell adnia az AM vagy a PM értéket.
Dátum és idő alapértelmezései
Ha nem tartalmaz dátumot egy dátum/idő literálban, a Visual Basic az érték dátumrészét 0001. Ha nem tartalmaz időpontot egy dátum-/időkonstansban, a Visual Basic az érték időrészét a nap elejére, azaz éjfélre állítja (0:00:00).
Típuskonvertálások
Ha egy értéket típussá String
alakít átDate
, a Visual Basic a futtatási idő területi beállítása által megadott rövid dátumformátum szerint jeleníti meg a dátumot, és a futási idő területi beállításában megadott időformátum szerint jeleníti meg az időt (akár 12 órás, akár 24 órás).
Programozási tippek
Interop szempontok. Ha a .NET-keretrendszer nem írt összetevőkkel (például Automation- vagy COM-objektumokkal) kommunikál, vegye figyelembe, hogy más környezetekben a dátum-idő típusúak nem kompatibilisek a Visual Basic
Date
típussal. Ha dátum/idő argumentumot ad át egy ilyen összetevőnek, deklarálja aztDouble
az új Visual Basic-kód helyettDate
, és használja a konvertálási módszereket DateTime.FromOADate és DateTime.ToOADatea .Írja be a karaktereket.
Date
nem rendelkezik literális típuskaraktere vagy azonosítótípus-karaktere. A fordító azonban a számjelek (# #
)Date
közé zárt literálokat a következőképpen kezeli.Keretrendszer típusa. A .NET-keretrendszer megfelelő típusa a System.DateTime struktúra.
Példa
Az adattípus változója vagy állandója Date
a dátumot és az időt is tartalmazza. Az alábbi példa ezt szemlélteti.
Dim someDateAndTime As Date = #8/13/2002 12:14 PM#