我的代码遇到了困难,因为我试图传递 if 语句,即当我的当前时间 EPG_Now
大于 EPG_Now
时间时。
示例:我当前的时间显示 12:38AM
不大于 12:55AM
,因此它不会通过 if 语句,除非我的当前时间晚于 12:55AM
。
当我尝试这个时:
EPG_Time = time.strptime('07/10/2017 12:32AM', '%d/%m/%Y %H:%M%p')
self.EPG_Now = ['06/10/2017 11:55AM']
self.EPG_Next = ['07/10/2017 12:55AM']
for EPG_Now, EPG_Next in zip(self.EPG_Now, self.EPG_Next):
EPG_Now_time = time.strptime(EPG_Now, '%d/%m/%Y %H:%M%p')
EPG_Next_time = time.strptime(EPG_Next, '%d/%m/%Y %H:%M%p
if EPG_Time > EPG_Next_time:
print "it is time to delete the data from the list......................."
当我的当前时间不大于EPG_Now
时,它总是让我通过if语句,这是错误的。我只想在当前时间大于 EPG_Now
时间时才通过 if 语句,然后我想做一些从列表中删除的操作。
您能否向我展示一个示例,如果我的当前时间大于 EPG_Now
时间,我如何传递 if 语句?
最佳答案
您的代码使一个简单的问题过于复杂化。试试这个:
>>> EPG_Time = time.strptime('07/10/2017 12:32AM', '%d/%m/%Y %H:%M%p')
>>> print EPG_Time
time.struct_time(tm_year=2017, tm_mon=10, tm_mday=7, tm_hour=12, tm_min=32, tm_sec=0, tm_wday=5, tm_yday=280, tm_isdst=-1)
>>> EPG_Now = time.strptime('06/10/2017 11:55AM', '%d/%m/%Y %H:%M%p')
>>> print EPG_Now
time.struct_time(tm_year=2017, tm_mon=10, tm_mday=6, tm_hour=11, tm_min=55, tm_sec=0, tm_wday=4, tm_yday=279, tm_isdst=-1)
>>> EPG_Next = time.strptime('07/10/2017 12:55AM', '%d/%m/%Y %H:%M%p')
>>> print EPG_Next
time.struct_time(tm_year=2017, tm_mon=10, tm_mday=7, tm_hour=12, tm_min=55, tm_sec=0, tm_wday=5, tm_yday=280, tm_isdst=-1)
>>> EPG_Time > EPG_Next
False
这完全符合预期。我认为您没有粘贴实际运行的代码 - 您在第 7 行缺少 ')
。也许您的代码与原始问题不同步。
关于python - 如何检查if语句当前时间是否大于时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46615268/