Share via


SystemTimeToVariantTime

This function converts the variant representation of time to system-time values.

int SystemTimeToVariantTime(
  SYSTEMTIME lpSystemTime, 
  double* pvtime 
); 

Parameters

  • lpSystemTime
    [in] Long pointer to the system time.
  • pvtime
    [out] Void pointer to the returned variant time.

Return Values

TRUE if the system time was successfully converted to a variant, FALSE otherwise.

Remarks

A variant time is stored as an 8-byte real value (double), representing a date between January 1, 1753 and December 31, 2078, inclusive. The value 2.0 represents January 1, 1900; 3.0 represents January 2, 1900, and so on. Adding 1 to the value increments the date by a day. The fractional part of the value represents the time of day. Therefore, 2.5 represents noon on January 1, 1900; 3.25 represents 6:00 A.M. on January 2, 1900, and so on. Negative numbers represent the dates prior to December 30, 1899.

The SYSTEMTIME structure is useful for the following reasons:

  • It spans all time/date periods. MS-DOS date/time is limited to representing only those dates between 1/1/1980 and 12/31/2107.
  • The date/time elements are all easily accessible without needing to do any bit decoding.
  • The National Data Support data and time formatting functions GetDateFormat and GetTimeFormat take a SYSTEMTIME value as input. For more information, see the Win32 Programmer's Reference in the Win32 SDK.
  • It is the default Win32 time/date data format supported by Microsoft Windows NT® and Windows 95.

Passing invalid (and under some circumstances NULL) pointers to this function causes an unexpected termination of the application.

Requirements

OS Versions: Windows CE 2.0 and later.
Header: Oleauto.h.
Link Library: Oleaut32.lib.

See Also

SYSTEMTIME | GetDateFormat | GetTimeFormat

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.