2012-10-14 70 views
0

我想從Windows註冊表中讀取一個使用Python的_winreg.QueryValueEx的DWORD日期,我無法獲得正確的格式。從註冊表中讀取DWORD日期使用Python&_winreg

DWORD Value: 5116e300 

Output using _winreg.QueryValueEx: 1360454400 

Desired Output: 2/10/2013 

能以某種方式使用datetime嗎?

謝謝


編輯

kindall's solution以下工作。

最後一行所用的是以下幾點:

import time 

t = 1360454400 
print time.strftime("%m/%d/%y", time.gmtime(t)) 

回答

1

這將讓你相當接近:

import time 

t = 1360454400 
print time.strftime("%m/%d/%y", time.gmtime(t)) 

爲了得到它沒有前導零:

t = time.gmtime(t) 
print "%d/%d/%2d" % (t.tm_mon, t.tm_mday, t.tm_year % 100) 
+0

感謝。你的第一個解決方案奏效但是,我不是導入'datetime',而是導入'time'。 – Voltron43

+0

是的,那是我的錯!修復... – kindall

0

奇怪的是, DWORD值5116e300實際上是1360388864的值,而不是1360454400,但無論如何...

ts = datetime.fromtimestamp(1360454400) 

print '{:%m/%d/%Y}'.format(ts) # 
# '02/10/2013' 

或:

print '{0.month}/{0.day}/{0.year}'.format(ts) 
# '2/10/2013'