我在将时间与EPG时间进行比较时遇到了问题。当我的当前时间显示2017-10-10 01:23:00
,当我的EPG时间显示2017-10-10 06:00:00
,6:00AM
早上1:23AM
且当前时间显示EPG_Time = time.strptime('2017-10-10 01:23AM', '%d/%m/%Y %I:%M%p')
EPG_Time = datetime.datetime.fromtimestamp(time.mktime(EPG_Time))
EPG_Next_time = time.strptime('2017-10-10 06:00AM', '%d-%m-%Y %I:%M%p')
EPG_Next = datetime.datetime.fromtimestamp(time.mktime(EPG_Next_time))
if EPG_Next <= EPG_Time:
print "it is time to delete the data from the list..........."
时,它将始终传递给我陈述所以我不确定原因。
当我尝试这个时:
06:00AM
当我的当前时间落后于EPG时间时,它将始终传递if语句。我希望传递if语句,因为只有当我的当前时间等于或大于EPG时间(?:^|(?<=\s))(?!sponge\.bob@example\.com|jim\.bob@example\.com|billy\.bob@example\.com)(\w[\w\.]*@\w+\.[\w\.]+)\b
时,我才可以从列表中删除数据。
你能告诉我一个例子,我如何比较当前时间和EPG时间吗?
答案 0 :(得分:1)
首先,javac -cp
的格式字符串与实际字符串不一致。我认为这是一个错字。
其次strptime()
包含它自己的strptime()
函数,因此您无需转换时间戳:
datetime.datetime
在这种情况下,from datetime import datetime
EPG_Time = datetime.strptime('2017-10-10 01:23AM', '%Y-%m-%d %I:%M%p')
EPG_Next = datetime.strptime('2017-10-10 06:00AM', '%Y-%m-%d %I:%M%p')
if EPG_Next <= EPG_Time:
print "it is time to delete the data from the list..........."
位于EPG_Time
之前,因此EPG_Next
语句不会执行。
可以使用print
获取当前时间。将其与您的EPG时间进行比较,以确定是否需要执行所需的操作:
datetime.now()
答案 1 :(得分:0)
您没有从解析中获得良好的价值,因为格式化程序的格式不正确。对于两种格式化程序,您应该使用
'%Y-%m-%d %I:%M%p'
比较应该可以正常工作。