Dateutil package: absolute difference in seconds between two dates

Konstantin picture Konstantin · Sep 5, 2014 · Viewed 8.6k times · Source

I use Python and 'dateutil' package. I have two dates 'date1' and 'date2' that are parsed from some strings:

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

How is it possible to get absolute (non-negative) time difference between 'date1' and 'date2' in seconds? Just one number.

Answer

Ffisegydd picture Ffisegydd · Sep 5, 2014

dateutil.parser.parse returns datetime.datetime objects which you can subtract from each other to get a datetime.timedelta object, the difference between two times.

You can then use the total_seconds method to get the number of seconds.

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

Note that if date1 is further in the future than date2 then the total_seconds method will return a negative number.