SYSTEMTIME 结构 (minwinbase.h)
指定日期和时间,使用月份、日、年、工作日、小时、分钟、秒和毫秒的单个成员。 时间采用协调世界时 (UTC) 或本地时间,具体取决于正在调用的函数。
语法
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
成员
wYear
年。 此成员的有效值为 1601 到 30827。
wMonth
月份。 此成员可以是以下值之一。
值 | 含义 |
---|---|
|
1 月 |
|
February |
|
3 月 |
|
April |
|
五月 |
|
June |
|
7 月 |
|
8 月 |
|
9 月 |
|
10 月 |
|
11 月 |
|
12 月 |
wDayOfWeek
星期几。 此成员可以是以下值之一。
值 | 含义 |
---|---|
|
星期日 |
|
星期一 |
|
星期二 |
|
星期三 |
|
星期四 |
|
星期五 |
|
星期六 |
wDay
每月的日期。 此成员的有效值为 1 到 31。
wHour
小时。 此成员的有效值为 0 到 23。
wMinute
分钟。 此成员的有效值为 0 到 59。
wSecond
秒钟。 此成员的有效值为 0 到 59。
wMilliseconds
毫秒。 此成员的有效值为 0 到 999。
注解
注意
SYSTEMTIME 不检查查看表示的日期是否为实际有效日期。 使用此 API 时,应确保其有效性,尤其是在闰年方案中。 有关详细信息 ,请参阅闰日就绪情况 。
建议不要从 SYSTEMTIME 结构中添加和减去值来获取相对时间。 相反,你应该
- 将 SYSTEMTIME 结构转换为 FILETIME 结构。
- 将生成的 FILETIME 结构复制到 ULARGE_INTEGER 结构。
- 对 ULARGE_INTEGER 值使用正常的 64 位算术。
示例
以下示例演示 GetSystemTime 和 GetLocalTime 函数检索的时间值之间的差异。
#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
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
标头 | minwinbase.h (包括 Windows.h) |