C ++ winapi:如何将当前时间转换为字符串?

时间:2017-03-14 16:25:21

标签: c++ winapi gdi+

我想将当前时间转换为字符串,以便稍后使用WM_PAINT中的Drawtext函数显示它。格式hh:mm:ss。

最便捷的方法是将时间转换成字符串。

1 个答案:

答案 0 :(得分:0)

格式化时间字符串的方法有很多种。

如果您需要特定格式,可以自行格式化字符串:

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 standard library functions

当您收到WM_PAINT消息时,您拨打了BeginPaintGetClientRect,然后是DrawText,最后是EndPaint