0

我正在尝试使用 Python 从 Windows 注册表中读取 DWORD 日期,但_winreg.QueryValueEx我无法获得正确的格式。

DWORD Value: 5116e300

Output using _winreg.QueryValueEx: 1360454400

Desired Output: 2/10/2013

我可以datetime以某种方式使用吗?

谢谢


编辑

kindall 的解决方案在下面起作用。

使用的最后一行如下:

import time

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

2 回答 2

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)
于 2012-10-14T18:08:41.727 回答
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'
于 2012-10-14T18:22:39.150 回答