Funzione VariantTimeToDosDateTime (oleauto.h)

Converte la rappresentazione variante di una data e un'ora in valori di data e ora MS-DOS.

Sintassi

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

Parametri

[in] vtime

Ora di variante da convertire.

[out] pwDosDate

Riceve la data MS-DOS convertita.

[out] pwDosTime

Riceve l'ora MS-DOS convertita

Valore restituito

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

Commenti

Un'ora di variante viene archiviata come valore reale a 8 byte (double), che rappresenta una data compresa tra il 1° gennaio 100 e il 31 dicembre 9999, inclusi. Il valore 2.0 rappresenta il 1° gennaio 1900; 3.0 rappresenta il 2 gennaio 1900 e così via. L'aggiunta di 1 al valore incrementa la data di un giorno. La parte frazionaria del valore rappresenta l'ora del giorno. Pertanto, 2,5 rappresenta il mezzogiorno il 1° gennaio 1900; 3.25 rappresenta le 6.00 del 2 gennaio 1900 e così via. I numeri negativi rappresentano le date precedenti al 30 dicembre 1899.

Per una descrizione dei formati di data e ora MS-DOS, vedere DosDateTimeToVariantTime.

La funzione VariantTimeToDosDateTime 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, le date non valide, ad esempio 02/0/2001, verranno risolte in 1/31/2001.

Requisiti

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