dateutil包:两个日期之间的绝对秒数差值
我在用Python和一个叫做'dateutil'的库。我有两个日期'date1'和'date2',它们是从一些字符串中解析出来的:
import dateutil.parser
date1 = dateutil.parser.parse(string1,fuzzy=True)
date2 = dateutil.parser.parse(string2,fuzzy=True)
我想知道怎么才能得到'date1'和'date2'之间的绝对时间差,也就是不带负号的时间差,单位是秒。只要一个数字就行。
2 个回答
4
使用 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
12
dateutil.parser.parse
这个工具可以把日期和时间转换成 datetime.datetime
这种对象。你可以把两个这样的对象相减,这样就能得到一个 datetime.timedelta
对象,这个对象表示两个时间之间的差距。
接着,你可以使用 total_seconds
这个方法来获取这个时间差的秒数。
diff = date2 - date1
print(diff.total_seconds())
需要注意的是,如果 date1
比 date2
更靠近未来,那么 total_seconds
方法会返回一个负数。