Type de données date (Visual Basic)
Contient des valeurs sous la forme IEEE 64 bits (8 octets) qui représentent des dates comprises entre le 1er janvier de l'année 1 et le 31 décembre 9999 et des heures comprises entre 0:00:00 (minuit) et 23:59:59.9999999. Chaque incrément représente 100 nanosecondes du temps écoulé depuis le 1er janvier de l'an 1 du calendrier grégorien. La valeur maximale représente 100 nanosecondes avant le début du 1er janvier de l'année 10 000.
Notes
Utilisez le type de données Date pour contenir des valeurs de date, des valeurs d'heure ou des valeurs d'horodatage.
La valeur par défaut de Date est 0:00:00 (minuit) du 1er janvier 0001.
Vous pouvez obtenir les date et heure actuelles de la classe DateAndTime.
Pré-requis de format
Vous devez joindre un littéral Date entre des signes dièse (# #). Vous devez spécifier la valeur de date au format M/d/yyyy, par exemple #5/31/1993#. Cette configuration requise est indépendante de vos paramètres régionaux et de vos paramètres de format de date et d'heure.
Cette restriction est due au fait que la signification de votre code ne doit jamais changer en fonction de vos paramètres régionaux avec lesquels votre application est en cours d'exécution. Supposez que vous codez en dur un littéral Date de #3/4/1998# et qu'il doive signifier 4 mars 1998. Dans des paramètres régionaux qui utilisent le format mm/jj/aaaa, la date 3/4/1998 sera compilée comme vous le souhaitez. Mais si vous déployez votre application dans plusieurs pays. Dans des paramètres régionaux qui utilisent le format jj/mm/aaaa, votre littéral codé en dur compilera sous la forme 3 Avril 1998. Dans des paramètres régionaux qui utilisent le format aaaa/mm/jj, le littéral 3 Avril 1998 ne sera pas valide et provoquera une erreur du compilateur.
Solutions
Pour convertir un littéral Date au format de vos paramètres régionaux ou à un format personnalisé, indiquez le littéral à la fonction Format, en spécifiant un format de date prédéfini ou défini par l'utilisateur. C'est ce qu'illustre l'exemple suivant.
MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))
Sinon, vous pouvez utiliser un des constructeurs surchargés de la structure DateTime pour assembler une valeur d'horodatage. L'exemple suivant crée une valeur pour représenter le 31 mai, 1993 à 12:14.
Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)
Format d'heure
Vous pouvez spécifier la valeur d'heure au format 12 heures ou 24 heures, par exemple #1:15:30 PM# ou #13:15:30#. Toutefois, si vous ne spécifiez pas les minutes, ni les secondes, vous devez indiquer s'il s'agit du matin ou de l'après-midi (AM/PM).
Valeurs par défaut de date et d'heure
Si vous n'incluez pas de date dans un littéral de date/heure, Visual Basic affecte la valeur 1er janvier 0001 à la partie date. Si vous n'incluez pas d'heure dans un littéral de date/heure, Visual Basic affecte à la partie heure la valeur du démarrage du jour, autrement dit, minuit (0:00:00).
Conversions de type
Si vous convertissez une valeur de type Date en type String, Visual Basic restitue la date en se basant sur le format de date courte spécifié par les paramètres régionaux d'exécution, et restitue l'heure en se basant sur le format d'heure (12 heures ou 24 heures) spécifié par les paramètres régionaux d'exécution.
Conseils de programmation
Considérations sur l'interopérabilité. Si vous utilisez des composants non écrits pour le .NET Framework, tels que des objets Automation ou COM, gardez à l'esprit que les types date/heure d'autres environnements ne sont pas compatibles avec le type Date Visual Basic. Si vous passez un argument date/heure à un tel composant, déclarez-le comme type de données Double et non comme Date dans votre nouveau code Visual Basic, et utilisez les méthodes de conversion DateTime.FromOADate et DateTime.ToOADate.
Caractères de type. Date n'a aucun caractère de type de littéral ou caractère de type d'identificateur. Toutefois, le compilateur assimile les littéraux compris entre signes dièse (# #) en tant que Date.
Type Framework. Le type correspondant dans le .NET Framework est la structure System.DateTime.
Exemple
Une variable ou constante de type de données Date contient à la fois la date et l'heure. L'exemple suivant illustre ce comportement.
Dim someDateAndTime As Date = #8/13/2002 12:14 PM#
Voir aussi
Référence
Liste des types de données (Visual Basic)
Fonctions de conversion de types de données (Visual Basic)
Liste des conversions (Visual Basic)