2014-01-10 25 views
0

我想從計算機中獲取系統時間,出於某種原因,我無法獲得打印的正確值。GetSystemTime()wHour不提供正確的值MFC C++

我的代碼:

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。任何有關這個問題的幫助將不勝感激。

回答

2

正在返回的SYSTEMTIME可能具有UTC的時區。也就是說,如果你在加利福尼亞州,則需要8個小時。試試GetLocalTime()。

+0

啊!而已! Gah,爲了這樣的事情而失敗:(非常感謝! –

+0

沒問題,我們都需要一個翼人。 –

+0

我懷疑東部8小時。(注意[小數點](http://en.wikipedia。 org/wiki/Decimal_mark#Countries_using_Arabic_numerals_with_decimal_comma)',')也許[印尼中部時間](http://en.wikipedia.org/wiki/UTC%2B08:00)? – chux

相關問題