C Winapi:如何将当前时间转换为字符串

C++ winapi: How to transform current time into a string?

本文关键字:时间 转换 字符串 Winapi      更新时间:2023-10-16

我想将当前时间转换为字符串,以稍后使用wm_paint中的绘制函数显示。格式HH:MM:SS。

以及最方便的方法是让时间稍后将其变成字符串。

有很多方法可以格式化时间字符串。

如果您想要特定格式,则可以自己格式化字符串:

WCHAR buf[100];
SYSTEMTIME st;
GetLocalTime(&st); // Local time
wsprintfW(buf, L"%.2u:%.2u:%.2u", st.wHour, st.wMinute, st.wSecond); // 24h format
DrawTextW(hDC, buf, -1, &yourRect, DT_LEFT);

如果要使用用户首选项格式化时间,则必须改用GetTimeFormat。或者您可以使用C标准库功能。

当您收到WM_PAINT消息时,您可以调用BeginPaintGetClientRect,然后是DrawText,最后是EndPaint