如何解析time.time()?

1 投票
2 回答
735 浏览
提问于 2025-04-17 12:48

我看到有个问题讨论了如何用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)

接下来,你可以使用一个日期时间对象,这样就能正确解析时间了。

撰写回答