2
快速問題: 是否存在pysyonic(無論是否在標準庫中)將unix 32位新紀元時間轉換爲Windows 64位新紀元時間並返回?在python中將unix時代時間轉換爲windows時代時間
快速問題: 是否存在pysyonic(無論是否在標準庫中)將unix 32位新紀元時間轉換爲Windows 64位新紀元時間並返回?在python中將unix時代時間轉換爲windows時代時間
您可以將POSIX時間戳轉換爲datetime
與
>>> tstamp = 1325178061 # right about now
>>> from datetime import datetime
>>> datetime.fromtimestamp(tstamp)
datetime.datetime(2011, 12, 29, 18, 1, 1)
的fromtimestamp
命名的構造函數接受所有平臺上的POSIX時間戳(!)。
轉換到Windows時間戳將減去Windows的時代,這是Wikipedia says 1601年1月1,並轉換所產生的timedelta
的秒數的問題:
>>> W_EPOCH = datetime(1601, 1, 1)
>>> (datetime.fromtimestamp(tstamp) - W_EPOCH).total_seconds()
12969655261.0
現在你已經有了一個float
,您轉換爲int
並以任何喜歡的方式存儲爲64位數量。
它只是讓有趣的,如果我們轉換到比在Win32 FILETIME格式以外的東西(但我同意這是幾乎可以肯定這就是OP想要的東西),因爲MS是相當..創造性與timeformats。 [見這裏](http://blogs.msdn.com/b/oldnewthing/archive/2003/09/05/54806.aspx)列表。只希望你永遠不會有OLE次工作啊 – Voo 2011-12-29 17:44:24
這是件好事,但一兩件事,這是我在2.6.5,並沒有total_seconds叫.... – user1040625 2011-12-29 17:48:35
此外,VOO,我確實使用FILETIME格式...只是爲了確認,我需要將這些秒轉換爲10^-7秒,對吧? – user1040625 2011-12-29 18:03:05