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 |