python: difference of two timedate strings

Simply  Seth picture Simply Seth · Sep 29, 2011 · Viewed 12k times · Source

I have two date strings (taken from user input and can vary greatly)

s1 = '2011:10:01:10:30:00'
s2 = '2011:10:01:11:15:00'

I wish to find the difference between the two as minutes.

How should I proceed to tackle this ?

Answer

Mike Christensen picture Mike Christensen · Sep 29, 2011
import datetime

d1 = datetime.datetime.strptime('2011:10:01:10:30:00', '%Y:%m:%d:%H:%M:%S')
d2 = datetime.datetime.strptime('2011:10:01:11:15:00', '%Y:%m:%d:%H:%M:%S')
diff = (d2 - d1).total_seconds() / 60

If you need to handle arbitrary datetime formats, I don't believe the built in datetime library will do that for you. Perhaps check out something like:

http://www.egenix.com/products/python/mxBase/mxDateTime/