Condividi tramite


Funzione DosDateTimeToVariantTime (oleauto.h)

Converte la rappresentazione MS-DOS dell'ora nella rappresentazione di data e ora archiviata in una variante.

Sintassi

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

Parametri

[in] wDosDate

Data MS-DOS da convertire. L'intervallo valido di date MS-DOS è compreso tra il 1° gennaio 1980 e il 31 dicembre 2099.

[in] wDosTime

Ora di MS-DOS da convertire.

[out] pvtime

Ora convertita.

Valore restituito

La funzione restituisce TRUE in caso di esito positivo e FALSE in caso contrario.

Commenti

MS-DOS registra le date e le ore del file come valori a 16 bit compressi. Una data MS-DOS ha il formato seguente.

BITS Contenuto
0–4 Giorno del mese (1-31).
5–8 Mese (1 = gennaio, 2 = febbraio e così via).
9–15 Offset annuale dal 1980 (aggiunta 1980 per ottenere l'anno effettivo).
 

Un'ora MS-DOS ha il formato seguente.

BITS Contenuto
0–4 Secondo diviso per 2.
5–10 Minuto (0-59).
11–15 Ora (0- 23 su un orologio di 24 ore).
 

La funzione DosDateTimeToVariantTime accetterà date non valide e tenterà di correggerle durante la risoluzione in un'ora VARIANT. Ad esempio, una data non valida, ad esempio 29/29/2001, verrà risolta in 3/1/2001. Vengono corretti solo i giorni, pertanto i valori di mese non validi generano un errore restituito. I giorni devono essere compresi tra 1 e 31. Giorni negativi e giorni maggiori di 31 generano un errore. Un giorno minore di 31, ma maggiore del giorno massimo in tale mese, ha il giorno alzato di livello al giorno appropriato del mese successivo. Un giorno uguale a zero viene risolto come ultimo giorno del mese precedente. Ad esempio, una data non valida, ad esempio 02/0/2001, verrà risolta in 31/1/2001.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione oleauto.h
Libreria OleAut32.lib
DLL OleAut32.dll