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
1 月
2
February
3
3 月
4
April
5
五月
6
June
7
7 月
8
8 月
9
9 月
10
10 月
11
11 月
12
12 月

wDayOfWeek

星期几。 此成员可以是以下值之一。

含义
0
星期日
1
星期一
2
星期二
3
星期三
4
星期四
5
星期五
6
星期六

wDay

每月的日期。 此成员的有效值为 1 到 31。

wHour

小时。 此成员的有效值为 0 到 23。

wMinute

分钟。 此成员的有效值为 0 到 59。

wSecond

秒钟。 此成员的有效值为 0 到 59。

wMilliseconds

毫秒。 此成员的有效值为 0 到 999。

注解

注意

SYSTEMTIME 不检查查看表示的日期是否为实际有效日期。 使用此 API 时,应确保其有效性,尤其是在闰年方案中。 有关详细信息 ,请参阅闰日就绪情况

建议不要从 SYSTEMTIME 结构中添加和减去值来获取相对时间。 相反,你应该

系统可以通过与时间源同步来定期刷新时间。 由于系统时间可以向前或向后调整,因此请勿比较系统时间读数以确定已用时间。 请改用 Windows 时间中所述的方法之一。

示例

以下示例演示 GetSystemTime 和 GetLocalTime 函数检索的时间值之间的差异。

#include <windows.h>
#include <stdio.h>

void main()
{
    SYSTEMTIME st, lt;
    
    GetSystemTime(&st);
    GetLocalTime(&lt);
    
    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)

另请参阅

FILETIME

FileTimeToSystemTime

GetLocalTime

GetSystemTime

SetLocalTime

SetSystemTime

SystemTimeToFileTime

ULARGE_INTEGER