2010-10-06 80 views
7

我有一個文件,日期和時間列爲巨大的數字,如634213557000000000.我相信這是一個.NET tick。這是自1月1日凌晨1點以來100納秒增量的數量。什麼是將它讀入python datetime對象的好方法?如何將.NET tick轉換爲python datetime?

+1

我想你誤用術語時代。一個時代不是一個數字 - 它是數字計算的基礎。所以.NET DateTime值的時代是1月1日1AD。在許多其他系統上(可能包括Python),它是1970年1月1日。 – 2010-10-06 18:44:33

+0

當你發表評論時,我正在修改它以打勾。 – 2010-10-06 18:45:35

+0

哇,標題中的.NET問題得到非常快的回答! – 2010-10-06 18:52:07

回答

14
datetime.datetime(1, 1, 1) + datetime.timedelta(microseconds = ticks/10) 

對於你的榜樣,這將返回

datetime.datetime(2010, 9, 29, 11, 15) 
+0

對於Python 3的兼容性,您可以使用'微秒= ticks // 10',以避免浮點數的精度下降。 – jfs 2015-11-21 10:24:49