2016-02-10 72 views
0

我是新的python windows winapi。Python如何在窗口中獲取位置時間

如何使用Python 擺脫WINAPI的位置,時間,結果時間就像 (UTC-08:00) Pacific Time (US & Canada)

我一直在使用win32api.GetTimeZoneInformation()嘗試,但結果只是一個數字(1, (480, u'Pacific Standard Time', <PyTime:11/1/2000 2:00:00 AM>, 0, u'Pacific Daylight Time', <PyTime:3/2/2000 2:00:00 AM>, -60))

對不起小白&壞的問題。

+0

我喜歡@pp_答案不使用任何第三方軟件包,但是我也注意到,實際[Python 2.7版文檔(HTTPS: //docs.python.org/2/library/datetime.html#tzinfo-objects)建議使用第三方'pytz'包。 – Monkpit

+0

我想在python中獲得像這樣的結果[http://security.china.alibaba.com/questions/12112419/getting-windows-time-zone-information-c-mfc?rq=1],在那裏使用C++我不知道不了解C++。 –

回答

3

退房Python的time模塊:

import time 

utc_offset = time.strftime('%z') 
tz_name = time.tzname[0] 

print('(UTC{0}) {1}'.format(utc_offset, tz_name)) 
+0

根據您的系統區域設置,當前首選線程語言以及當第一次導入「時間」時的當前線程區域設置,'tzname'可能會損壞mojibake。使用日語作爲默認C語言環境中的首選語言時,UTC時區中'tzname'的值爲''\ x8b \ xa6 \ x92 \ xe8 \ x90 \ x8aE \ x8e \ x9e'',這是ANSI CP932)編碼錯誤地轉換爲Unicode字符串。我必須首先將線程'LC_CTYPE'語言環境設置爲日語才能得到正確的字符串'協定世界時''。相反,直接通過ctypes使用Windows Unicode API會更好。 – eryksun

+0

@eryksun謝謝你指出。 –