Я пытаюсь получить системное время от компьютера и по какой-то причине не могу распечатать правильное значение.
Мой код:
SYSTEMTIME st;
GetSystemTime(&st);
CString mill;
mill.Format("%02d:%02d:%02d,%03d", st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
MessageBox(mill);
Выход :
02:01:02,692
Я запустил эту функцию, когда это 10.01 утра.
Я не понимаю, почему st.wHour дает мне 02 вместо этого. Любая помощь по этому вопросу будет высоко ценится.
Возвращаемое SYSTEMTIME, вероятно, имеет часовой пояс UTC. То есть 8 часов, если вы в Калифорнии. Попробуйте вместо этого GetLocalTime ().
Других решений пока нет …