如何解析time.time()?
我看到有个问题讨论了如何用Python解析包含毫秒的完整时间戳,另外还有一个问题讨论了如何把UTC时间元组转换成自1970年1月1日以来的秒数。现在我想知道,如何解析time.time()呢?也就是说,我想把它转换成一个时间元组,或者其他更精确的形式。
我希望能保留微秒的信息。
2 个回答
1
在Python的错误追踪系统上,有很多关于时间戳处理的讨论历史,特别是如何正确处理时间戳的问题。虽然这些讨论值得一看,但这里有个简单的解决办法:
In [1]: import datetime, time
In [2]: dt = datetime.datetime(2012, 2, 10, 15, 18, 15, 234567)
In [3]: seconds = time.mktime(dt.timetuple())
In [4]: seconds += (dt.microsecond/1000000.0)
In [5]: seconds
Out[5]: 1328908695.234567
In [6]: datetime.datetime.fromtimestamp(seconds)
Out[6]: datetime.datetime(2012, 2, 10, 15, 18, 15, 234567)
接下来,你可以使用一个日期时间对象,这样就能正确解析时间了。