Función DosDateTimeToVariantTime (oleauto.h)

Convierte la representación de MS-DOS de hora en la representación de fecha y hora almacenada en una variante.

Sintaxis

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

Parámetros

[in] wDosDate

Fecha de MS-DOS que se va a convertir. El intervalo válido de fechas de MS-DOS es el 1 de enero de 1980, hasta el 31 de diciembre de 2099, ambos inclusive.

[in] wDosTime

Tiempo de MS-DOS que se va a convertir.

[out] pvtime

Hora convertida.

Valor devuelto

La función devuelve TRUE si se ejecuta correctamente y FALSE en caso contrario.

Comentarios

MS-DOS registra las fechas y horas del archivo como valores empaquetados de 16 bits. Una fecha de MS-DOS tiene el siguiente formato.

Bits Contenido
0–4 Día del mes (1–31).
5–8 Mes (1 = enero, 2 = febrero, etc.).
9–15 Desplazamiento del año de 1980 (agregue 1980 para obtener el año real).
 

Una hora de MS-DOS tiene el formato siguiente.

Bits Contenido
0–4 Segundo dividido por 2.
5–10 Minuto (0-59).
11–15 Hora (0– 23 en un reloj de 24 horas).
 

La función DosDateTimeToVariantTime aceptará fechas no válidas e intentará corregirlas al resolver en una hora VARIANT. Por ejemplo, una fecha no válida como 29/29/2001 se resolverá en 3/1/2001. Solo se han corregido los días, por lo que los valores de mes no válidos producen un error que se devuelve. Se comprueba que los días estén comprendidos entre 1 y 31. Los días negativos y los días mayores que 31 producen un error. Un día menor que 31 pero mayor que el día máximo de ese mes tiene el día promocionado al día adecuado del mes siguiente. Un día igual a cero se resuelve como el último día del mes anterior. Por ejemplo, una fecha no válida, como el 0/2/2001, se resolverá en 1/31/2001.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado oleauto.h
Library OleAut32.lib
Archivo DLL OleAut32.dll