Пакет Dateutil: абсолютная разница в секундах между двумя датами

Я использую Python и пакет dateutil. У меня есть две даты "date1" и "date2", которые анализируются из некоторых строк:

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

Как можно получить абсолютную (неотрицательную) разницу во времени между «date1» и «date2» в секундах? Всего один номер.


person Konstantin    schedule 05.09.2014    source источник


Ответы (2)


dateutil.parser.parse возвращает datetime.datetime, которые можно вычесть друг из друга, чтобы получить datetime.timedelta объект, разница между двумя значениями времени.

Затем вы можете использовать метод total_seconds, чтобы получить число секунд.

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

Обратите внимание, что если date1 находится дальше в будущем, чем date2, то метод total_seconds вернет отрицательное число.

person Ffisegydd    schedule 05.09.2014

Используйте метод 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
person mhawke    schedule 05.09.2014
comment
Спасибо за ответ! - person Konstantin; 05.09.2014