int GetTimeFormatA(
LCID Locale,
DWORD dwFlags,
const SYSTEMTIME *lpTime,
LPCSTR lpFormat,
LPSTR lpTimeStr,
int cchTime
);
参数说明:
- Locale:指定一个区域设置标识符(LCID),用于指定时间的语言和格式规则。
- dwFlags:指定格式化的时间标志。可以是时间格式选项的组合,例如 TIME_FORCE24HOURFORMAT 或 TIME_NOSECONDS。
- lpTime:指向 SYSTEMTIME 结构的指针,包含要格式化的时间。
- lpFormat:一个以 null 结尾的字符串,指定自定义时间格式。可以为 NULL,表示使用默认格式。
- lpTimeStr:接收格式化时间字符串的缓冲区。
- cchTime:缓冲区的大小,以字符数为单位。
函数返回值为生成的时间字符串的长度,不包括 null 终止符,如果出现错误则返回 0。
以下是一个简单的示例,演示如何使用 GetTimeFormatA 函数:
#include <windows.h>
#include <stdio.h>
int main() {
SYSTEMTIME st;
GetLocalTime(&st);
char szTime[50];
int nLength = GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &st, "HH:mm:ss", szTime, sizeof(szTime));
if (nLength > 0) {
printf("Formatted Time: %s\n", szTime);
} else {
printf("Error getting time format. Error code: %lu\n", GetLastError());
}
return 0;
}
此示例获取当前本地时间,使用默认时间格式 "HH:mm:ss" 格式化时间,并将结果打印到控制台。你可以根据需要调整 lpFormat 参数以指定其他自定义日期/时间格式。
转载请注明出处:http://www.zyzy.cn/article/detail/26277/Win32 API/Datetimeapi.h/GetTimeFormatA