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
23 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