3

我使用 Python 和 'dateutil' 包。我有两个日期 'date1' 和 'date2' 是从一些字符串中解析出来的:

import dateutil.parser
date1 = dateutil.parser.parse(string1,fuzzy=True)
date2 = dateutil.parser.parse(string2,fuzzy=True)

如何以秒为单位获得“date1”和“date2”之间的绝对(非负)时间差?只有一个数字。

4

2 回答 2

10

dateutil.parser.parse返回datetime.datetime可以相互减去的对象以获得datetime.timedelta对象,即两次之间的差。

然后,您可以使用该total_seconds方法获取秒数。

diff = date2 - date1
print(diff.total_seconds())

请注意,如果date1比将来更远,date2则该total_seconds方法将返回一个负数。

于 2014-09-05T13:01:31.030 回答
3

total_seconds()在时间增量上使用该方法:

import dateutil.parser
from datetime import datetime

date1 = datetime.now()
date2 = dateutil.parser.parse('2013-11-12 09:00:00',fuzzy=True)

>>> print abs((date1 - date2).total_seconds())
25711599.6705
于 2014-09-05T13:03:17.840 回答