2010-10-06 79 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