Fonction VariantTimeToDosDateTime (oleauto.h)

Convertit la représentation variant d’une date et d’une heure en valeurs de date et d’heure MS-DOS.

Syntaxe

INT VariantTimeToDosDateTime(
  [in]  DOUBLE vtime,
  [out] USHORT *pwDosDate,
  [out] USHORT *pwDosTime
);

Paramètres

[in] vtime

Heure de la variante à convertir.

[out] pwDosDate

Reçoit la date MS-DOS convertie.

[out] pwDosTime

Reçoit l’heure MS-DOS convertie

Valeur retournée

La fonction retourne TRUE en cas de réussite et FALSE dans le cas contraire.

Remarques

Une heure de variante est stockée sous la forme d’une valeur réelle de 8 octets (double), représentant une date comprise entre le 1er janvier 100 et le 31 décembre 9999, inclus. La valeur 2.0 représente le 1er janvier 1900 ; 3.0 représente le 2 janvier 1900, et ainsi de suite. L’ajout de 1 à la valeur incrémente la date d’un jour. La partie fractionnaire de la valeur représente l’heure de la journée. Par conséquent, 2.5 représente midi le 1er janvier 1900 ; 3.25 représente 6 :00 le 2 janvier 1900, et ainsi de suite. Les nombres négatifs représentent les dates antérieures au 30 décembre 1899.

Pour obtenir une description des formats de date et d’heure MS-DOS, consultez DosDateTimeToVariantTime.

La fonction VariantTimeToDosDateTime accepte les dates non valides et tente de les corriger lors de la résolution d’une heure VARIANT. Par exemple, une date non valide telle que le 29/02/2001 sera résolue au 1/03/2001. Seuls les jours étant corrigés, les valeurs de mois non valides entraînent le retour d’une erreur. Les jours sont vérifiés pour être compris entre 1 et 31. Les jours négatifs et les jours supérieurs à 31 entraînent une erreur. Un jour inférieur à 31 mais supérieur au jour maximal de ce mois a le jour promu au jour approprié du mois suivant. Un jour égal à zéro est résolu comme le dernier jour du mois précédent. Par exemple, une date non valide telle que le 02/2001 sera résolue au 31/1/2001.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête oleauto.h
Bibliothèque OleAut32.lib
DLL OleAut32.dll