Python 微秒分辨率的日期时间算法

datetime arithmetic with microsecond resolution in Python

我想计算 python 中两个时间戳(具有微秒分辨率)之间的差异(以天、小时、分钟、秒、微秒为单位),例如在 (1)2016-05-10 11:32:18.025635 和 (2)2016-05-13 18:59:52.094672

之间

有指点,怎么做?

您可以使用 python-dateutil 包:

>>> import dateutil.parser
>>> d1 = dateutil.parser.parse('2016-05-10 11:32:18.025635')
>>> d2 = dateutil.parser.parse('2016-05-13 18:59:52.094672')
>>> d2 - d1
datetime.timedelta(3, 26854, 69037)

这将为您提供一个 datetime.timedelta 对象,它表示两个日期时间对象之间的时间差。

如果你不想安装一个包,那么也可以使用 datetime.strptime 来完成,但在那种情况下你必须定义字符串的样子。