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 |