Compartir a través de


Función VariantTimeToDosDateTime (oleauto.h)

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

Sintaxis

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

Parámetros

[in] vtime

Hora de variante que se va a convertir.

[out] pwDosDate

Recibe la fecha de MS-DOS convertida.

[out] pwDosTime

Recibe la hora de MS-DOS convertida.

Valor devuelto

La función devuelve TRUE si se ejecuta correctamente y FALSE de lo contrario.

Comentarios

Una hora de variante se almacena como un valor real de 8 bytes (double), que representa una fecha entre el 1 de enero de 100 y el 31 de diciembre de 9999, ambos incluidos. El valor 2.0 representa el 1 de enero de 1900; 3.0 representa el 2 de enero de 1900, etc. Agregar 1 al valor incrementa la fecha en un día. La parte fraccionarcional del valor representa la hora del día. Por lo tanto, 2.5 representa el mediodía del 1 de enero de 1900; 3.25 representa las 6:00 a.m. el 2 de enero de 1900, etc. Los números negativos representan las fechas anteriores al 30 de diciembre de 1899.

Para obtener una descripción de los formatos de fecha y hora de MS-DOS, vea DosDateTimeToVariantTime.

La función VariantTimeToDosDateTime aceptará fechas no válidas e intentará corregirlas al resolver una hora VARIANT. Por ejemplo, una fecha no válida, como el 2/29/2001, se resolverá en 3/1/2001. Solo los días son fijos, 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, las fechas no válidas como 2/0/2001 se resolverán en 1/31/2001.

Requisitos

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