SYSTEMTIME 结构
注:本文档由 Diu 翻译,小甲鱼校对。原文链接 -> 传送门
SYSTEMTIME 结构
SYSTEMTIME 结构指定日期与时间,月,天,年,星期,小时,分钟,秒和毫秒,都是用单独的成员表示。该时间要么是世界标准时间(UTC),要么是本地时间(取决于正在被调用的函数)。
结构原型:
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;
成员解析:
成员 含义
wYear 年。该成员的有效值从 1601 到 30827
wMonth 月。该成员是下列值中的某一个:
值 含义
1 一月份
2 二月份
3 三月份
4 四月份
5 五月份
6 六月份
7 七月份
8 八月份
9 九月份
10 十月份
11 十一月份
12 十二月份
wDayOfWeek 星期。该成员是下列值中的某一个:
值 含义
0 星期天
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
wDay 一个月中的某一天。该成员的有效值从 1 到 31
wHour 小时。该成员的有效值从 0 到 23
wMinute 分钟。该成员的有效值从 0 到 59
wSecond 秒。该成员的有效值从 0 到 59
wMilliseconds 毫秒。该成员的有效值从 0 到 999
备注:
1. 不建议你通过对 SYSTEMTIME 结构中的值进行加和减来获取相对时间。取而代之,你应该:
[*]将 SYSTEMTIME 结构转换为 FILETIME 结构。
[*]将产生的 FILETIME 结构拷贝到 ULARGE_INTEGER 结构。
[*]对 ULARGE_INTEGER 值进行正常的 64 位算术运算。
2. 系统可以通过与时间源同步来定期刷新时间。由于系统时间既可以向前又可以向后调整,所以不要比较系统的时间读数以确定运行时间。相反,使用 Windows Time 中描述的方法。
例子:
下边的例子演示使用 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);
}
样本输出:
The system time is: 19:34
The local time is: 12:34
需求:
Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Winbase.h (包含于 Windows.h)
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
页:
[1]