/// <summary> /// Retrieves the current system time. /// </summary> /// <returns>The current system time.</returns> public static DateTime GetSystemTime() { WindowsAPI.SYSTEMTIME systemTime = new WindowsAPI.SYSTEMTIME(); WindowsAPI.GetSystemTime(ref systemTime); DateTime systemDateTime = new DateTime( systemTime.wYear, systemTime.wMonth, systemTime.wDay, systemTime.wHour, systemTime.wMinute, systemTime.wSecond, systemTime.wMilliseconds ); return(systemDateTime); }
/// <summary> /// Sets the system time. /// </summary> /// <param name="dateTime">The date and time to set the system clock to.</param> public static void SetSystemTime(DateTime dateTime) { WindowsAPI.SYSTEMTIME systemTime = new WindowsAPI.SYSTEMTIME(); systemTime.wYear = (short)dateTime.Year; systemTime.wMonth = (short)dateTime.Month; // wDayOfWeek is ignored by SetSystemTime systemTime.wDay = (short)dateTime.Day; systemTime.wHour = (short)dateTime.Hour; systemTime.wMinute = (short)dateTime.Minute; systemTime.wSecond = (short)dateTime.Second; systemTime.wMilliseconds = (short)dateTime.Millisecond; bool setSucceeded = WindowsAPI.SetSystemTime(ref systemTime); if (!setSucceeded) { throw new SystemTimeException(WindowsAPI.GetLastError()); } }