Share via


DosDateTimeToVariantTime, fonction (oleauto.h)

Convertit la représentation MS-DOS de l’heure en représentation de date et d’heure stockée dans une variante.

Syntaxe

INT DosDateTimeToVariantTime(
  [in]  USHORT wDosDate,
  [in]  USHORT wDosTime,
  [out] DOUBLE *pvtime
);

Paramètres

[in] wDosDate

Date MS-DOS à convertir. La plage valide de dates MS-DOS est du 1er janvier 1980 au 31 décembre 2099 inclus.

[in] wDosTime

Temps de conversion MS-DOS.

[out] pvtime

Heure convertie.

Valeur retournée

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

Remarques

MS-DOS enregistre les dates et heures du fichier sous forme de valeurs 16 bits compressées. Une date MS-DOS a le format suivant.

Bits Contenu
0–4 Jour du mois (1-31).
5–8 Mois (1 = janvier, 2 = février, et ainsi de suite).
9–15 Année décalée à partir de 1980 (ajoutez 1980 pour obtenir l’année réelle).
 

Une heure MS-DOS a le format suivant.

Bits Contenu
0–4 Deuxième divisé par 2.
5–10 Minute (0-59).
11–15 Heure (de 0 à 23 sur une horloge de 24 heures).
 

La fonction DosDateTimeToVariantTime accepte les dates non valides et tente de les corriger lors de la résolution à 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 fixes, les valeurs de mois non valides entraînent le retour d’une erreur. Les jours sont vérifiés 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/0/2001 sera résolue au 31/01/2001.

Configuration requise

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