SetLocalTime

The SetLocalTime function sets the current local time and date.

BOOL SetLocalTime(
  CONST SYSTEMTIME *lpSystemTime   // address of local time to set
);
 

Parameters

lpSystemTime
Pointer to a SYSTEMTIME structure that contains the current local date and time.

The wDayOfWeek member of the SYSTEMTIME structure is ignored.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Windows NT: The system uses UTC internally. Therefore, when you call SetLocalTime, Windows NT uses the current time zone information, including the Daylight Saving Time setting, to perform the conversion. Note that Windows NT uses the Daylight Saving Time setting of the current time, not the new time you are setting. Therefore, calling SetLocalTime again, now that the Daylight Saving Time setting is set for the new time, will guarantee the correct result.

Windows NT: The SetLocalTime function fails if the calling process does not have the SE_SYSTEMTIME_NAME privilege. This privilege is disabled by default. Use the AdjustTokenPrivileges function to enable this privilege and again to disable it after the time has been set. For more information about security privileges, see Privileges.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winbase.h.
  Import Library: Use kernel32.lib.

See Also

Time Overview, Time Functions, AdjustTokenPrivileges, GetLocalTime, GetSystemTime, SetSystemTimeAdjustment, SYSTEMTIME