I have two date time objects like this

a = first date time object b = second date time object 

And then

c = a - b 

Now I want to compare c and check if the difference was greater than 3 hours, so I have a time object called three_hours

three_hours = datetime.time(3,0) if c >= three_hours: #do stuff 

but I get an error saying cannot compare datetime.teimdelta to datetime.time

My question is different as I also want to then compare the subtracted time, not just get the difference!!

How can I convert them to the correct formats so I can check if 3 hours has passed?

Thanks for the help

2

3 Answers

When you subtract two datetime objects in python, you get a datetime.timedelta object. You can then get the total_seconds() for that timedelta object and check if that is greater than 3*3600 , which is the number of seconds for 3 hours. Example -

>>> a = datetime.datetime.now() >>> b = datetime.datetime(2015,8,25,0,0,0,0) >>> c = a - b >>> c.total_seconds() 87062.729491 >>> c.total_seconds() > 3*3600 True 

You can also just compare to another timedelta object

import datetime if c >= datetime.timedelta(hours=3): #do something 

You can do this

three_hours = 3600*3 # in seconds if c.total_seconds() >= three_hours: # do stuff