It is easier to compare dates and times using datetime objects rather than setting variables representing the hour, minutes, seconds, etc and doing the calculation yourself.
Using datetime.strptime from the standard library:
import datetime as dt
date1 = dt.datetime.strptime('12:00:01 AM', '%I:%M:%S %p')
date2 = dt.datetime.strptime('1:10:01 PM', '%I:%M:%S %p')
print(date1)
# 1900-01-01 12:00:01
print(date2)
# 1900-01-01 13:10:01
print(date2 < date1)
# False
Or, using dateutil:
import dateutil.parser as parser
date1 = parser.parse('12:00:01 AM')
date2 = parser.parse('1:10:00 PM')
print(date1)
# 2012-01-13 00:00:01
print(date2)
# 2012-01-13 13:10:00
print(date2 < date1)
# False
The above shows it is not necessary to set variables for the hours, minutes and seconds. However, it is easy to access that information from a datetime.datetime object as well:
In [44]: x = dt.datetime.strptime('12:00:01 AM', '%I:%M:%S %p')
In [45]: x.hour, x.minute, x.second
Out[45]: (0, 0, 1)