Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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

Syntax

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 Value

A non-zero value if the system time was successfully converted to a variant time, zero 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 variant time resolves to one second. Any milliseconds in the input date are ignored.

The SYSTEMTIMEstructure 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 using bit decoding.

  • The National Data Support data and time formatting functions GetDateFormatand GetTimeFormattake a SYSTEMTIMEvalue as input. For more information, see the Win32 Programmer's Referencein 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

Header oleauto.h
Library oleaut32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also