Compartilhar via


Função DosDateTimeToVariantTime (oleauto.h)

Converte a representação ms-DOS de hora para a representação de data e hora armazenada em uma variante.

Sintaxe

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

Parâmetros

[in] wDosDate

A data do MS-DOS a ser convertida. O intervalo válido de datas do MS-DOS é de 1º de janeiro de 1980 a 31 de dezembro de 2099, inclusive.

[in] wDosTime

A hora do MS-DOS a ser convertida.

[out] pvtime

A hora convertida.

Retornar valor

A função retorna TRUE em caso de êxito e FALSE caso contrário.

Comentários

O MS-DOS registra datas e horas do arquivo como valores de 16 bits empacotados. Uma data MS-DOS tem o seguinte formato.

Bits Sumário
0-4 Dia do mês (1 a 31).
5–8 Mês (1 = janeiro, 2 = fevereiro e assim por diante).
9–15 Deslocamento de ano de 1980 (adicione 1980 para obter o ano real).
 

Uma hora do MS-DOS tem o seguinte formato.

Bits Sumário
0-4 Segundo dividido por 2.
5–10 Minuto (0 a 59).
11–15 Hora (0 a 23 em um relógio de 24 horas).
 

A função DosDateTimeToVariantTime aceitará datas inválidas e tentará corrigi-las ao resolver para uma hora VARIANT. Por exemplo, uma data inválida, como 29/02/2001, resolve para 1/3/2001. Somente os dias são fixos, portanto, os valores de mês inválidos resultam em um erro retornado. Os dias estão marcados para estar entre 1 e 31. Dias e dias negativos maiores que 31 resultam em um erro. Um dia menor que 31, mas maior que o dia máximo nesse mês tem o dia promovido para o dia apropriado do mês seguinte. Um dia igual a zero é resolvido como o último dia do mês anterior. Por exemplo, uma data inválida, como 0/2/2001, resolve a 31/1/2001.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho oleauto.h
Biblioteca OleAut32.lib
DLL OleAut32.dll