Python: 从`datetime.datetime`转换为`time.time`

60 投票
5 回答
57419 浏览
提问于 2025-04-17 05:42

在Python中,我该如何把一个datetime.datetime类型的时间转换成从time.time函数得到的那种float类型的数字呢?

5 个回答

18

我知道这个问题已经很久了,但在 Python 3.3 及以上版本中,有一种更简单的方法可以做到这一点,使用的是 datetime.timestamp() 这个方法:

from datetime import datetime
timestamp = datetime.now().timestamp()
34
time.mktime(dt_obj.timetuple())

应该能解决问题。

51

使用时间元组的方法并保留微秒其实并不难:

>>> t = datetime.datetime.now()
>>> t
datetime.datetime(2011, 11, 5, 11, 26, 15, 37496)

>>> time.mktime(t.timetuple()) + t.microsecond / 1E6
1320517575.037496

撰写回答