Windows 系统中的时间函数234
时间管理是操作系统的重要功能,Windows 系统提供了各种时间函数,使开发者能够访问和操作系统时间。这些函数定义在 "time.h" 头文件中,本文将详细介绍这些函数的使用。
获取时间
GetSystemTime()
GetSystemTime() 函数获取当前系统时间,并将结果存储在 SYSTEMTIME 结构中。SYSTEMTIME 包含以下成员:
wYear: 年份 wMonth: 月份 wDayOfWeek: 星期几 wDay: 日期 wHour: 小时 wMinute: 分钟 wSecond: 秒 wMilliseconds: 毫秒```cSYSTEMTIME st;GetSystemTime(&st);printf("Current time: %d-%d-%d %d:%d:%d", , , , , , );```GetSystemTimeAsFileTime()
GetSystemTimeAsFileTime() 函数获取当前系统时间,并以 FILETIME 结构的形式返回。FILETIME 表示自 1601 年 1 月 1 日午夜以来的 100 纳秒间隔的整数。
```cFILETIME ft;GetSystemTimeAsFileTime(&ft);printf("Current time as FILETIME: %lld", , );```设置时间
SetSystemTime()
SetSystemTime() 函数设置当前系统时间。它需要一个 SYSTEMTIME 结构作为输入,该结构包含要设置的新时间。
```cSYSTEMTIME st; = 2023; = 7; = 4; = 12; = 30; = 0;SetSystemTime(&st);```SetSystemTimeAsFileTime()
SetSystemTimeAsFileTime() 函数设置当前系统时间,使用 FILETIME 结构作为输入。该结构表示自 1601 年 1 月 1 日午夜以来的 100 纳秒间隔的整数。
```cFILETIME ft;// 假设 ft 已初始化为要设置的时间SetSystemTimeAsFileTime(&ft);```其他时间函数
除了获取和设置系统时间之外,Windows 系统还提供了以下时间函数:GetLocalTime()
GetLocalTime() 函数获取当前本地时间,并存储在 SYSTEMTIME 结构中。本地时间是相对于 UTC(协调世界时)的偏移量。
SetLocalTime()
SetLocalTime() 函数设置当前本地时间。它需要一个 SYSTEMTIME 结构作为输入,该结构包含要设置的新本地时间。
GetTimeZoneInformation()
GetTimeZoneInformation() 函数获取当前时区的信息。它填充一个 TIME_ZONE_INFORMATION 结构,该结构包含以下信息:
TimeZoneId: 时区标识符 StandardName: 标准时间名称 DaylightName: 夏令时名称 StandardBias: UTC 偏移量 DaylightBias: 夏令时偏移量SetTimeZoneInformation()
SetTimeZoneInformation() 函数设置当前时区。它需要一个 TIME_ZONE_INFORMATION 结构作为输入,该结构包含要设置的新时区信息。
Sleep()
Sleep() 函数使调用线程睡眠指定的时间。它接受一个毫秒数作为输入,并在指定时间后唤醒线程。
```cSleep(1000); // 睡眠 1 秒```2024-11-02