示例'12:00:01 AM'
我想设置变量:hr = 12,min = 00,s = 01,t = AM
请帮我比较时间,我比较一下(例如:下午1:10:00< '12:00:01 AM')
使用<产生的符号结果并不总是正确的。
所以我正在尝试开发代码来通过设置变量来比较时间
但它可以通过任何功能直接提供,请告诉我
否则请帮我设置变量
答案 0 :(得分:0)
使用日期时间对象比较日期和时间更容易,而不是设置代表小时,分钟,秒等的变量并自行进行计算。
使用标准库中的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)