使用日期时间对象比较日期和时间比设置表示小时、分钟、秒等的变量并自己进行计算更容易。
使用标准库中的datetime.strptime:
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
或者,使用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
以上说明不必为小时、分钟和秒设置变量。但是,也很容易从 datetime.datetime 对象访问该信息:
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)