SYSTEMTIME structure
Specifies a date and time, using individual members for the month, day, year, weekday, hour, minute, second, and millisecond. The time is either in coordinated universal time (UTC) or local time, depending on the function that is being called.
Syntax
typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME, *PSYSTEMTIME;
Members
- wYear
-
The year. The valid values for this member are 1601 through 30827.
- wMonth
-
The month. This member can be one of the following values.
Value Meaning - 1
January
- 2
February
- 3
March
- 4
April
- 5
May
- 6
June
- 7
July
- 8
August
- 9
September
- 10
October
- 11
November
- 12
December
- wDayOfWeek
-
The day of the week. This member can be one of the following values.
Value Meaning - 0
Sunday
- 1
Monday
- 2
Tuesday
- 3
Wednesday
- 4
Thursday
- 5
Friday
- 6
Saturday
- wDay
-
The day of the month. The valid values for this member are 1 through 31.
- wHour
-
The hour. The valid values for this member are 0 through 23.
- wMinute
-
The minute. The valid values for this member are 0 through 59.
- wSecond
-
The second. The valid values for this member are 0 through 59.
- wMilliseconds
-
The millisecond. The valid values for this member are 0 through 999.
Remarks
It is not recommended that you add and subtract values from the SYSTEMTIME structure to obtain relative times. Instead, you should
- Convert the SYSTEMTIME structure to a FILETIME structure.
- Copy the resulting FILETIME structure to a ULARGE_INTEGER structure.
- Use normal 64-bit arithmetic on the ULARGE_INTEGER value.
The system can periodically refresh the time by synchronizing with a time source. Because the system time can be adjusted either forward or backward, do not compare system time readings to determine elapsed time. Instead, use one of the methods described in Windows Time.
Examples
The following example demonstrates the difference between the time values retrieved by the GetSystemTime and GetLocalTime functions.
#include <windows.h> #include <stdio.h> void main() { SYSTEMTIME st, lt; GetSystemTime(&st); GetLocalTime(<); printf("The system time is: %02d:%02d\n", st.wHour, st.wMinute); printf(" The local time is: %02d:%02d\n", lt.wHour, lt.wMinute); }
// Sample output The system time is: 19:34 The local time is: 12:34
Requirements
|
Minimum supported client |
Windows 2000 Professional [desktop apps | Windows Store apps] |
|---|---|
|
Minimum supported server |
Windows 2000 Server [desktop apps | Windows Store apps] |
|
Header |
|
See also
- FILETIME
- FileTimeToSystemTime
- GetLocalTime
- GetSystemTime
- ULARGE_INTEGER
- SetLocalTime
- SetSystemTime
- SystemTimeToFileTime