Share via


VariantTimeToSystemTime (Compact 2013)

3/26/2014

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

Syntax

int VariantTimeToSystemTime(
  double vtime, 
  LPSYSTEMTIME lpSystemTime 
); 

Parameters

  • vtime
    [in] Specifies the variant time that will be converted.
  • lpSystemTime
    [out] Long pointer to the location where the converted time is stored.

Return Value

A non-zero value if the variant was successfully converted to a system time, zero otherwise.

Remarks

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

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.

Using the SYSTEMTIME structure is useful for these 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 bit decoding.
  • The National/Regional Language Support (NLS) data and time formatting functions GetDataFormat and GetTimeFormat take a SYSTEMTIME value as input.
  • It is the default Win32 time and date data format supported by Windows NT and Windows 95.

Requirements

Header

oleauto.h

Library

oleaut32.lib

See Also

Reference

Automation Functions

Other Resources

SYSTEMTIME