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 |