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 |