2014-09-05 3 views
3

Я использую пакет Python и 'dateutil'. У меня есть две даты «date1» и «date2», которые разобраны из некоторых строк:Пакет Dateutil: абсолютная разница в секундах между двумя датами

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

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

ответ

5

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

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

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

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

+0

Спасибо большое! – Konstantin

2

Используйте метод 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 
+0

Спасибо за ответ! – Konstantin

Смежные вопросы