将当前时间的结果与epg时间进行比较

时间:2017-10-10 00:41:56

标签: python python-2.7

我在将时间与EPG时间进行比较时遇到了问题。当我的当前时间显示2017-10-10 01:23:00,当我的EPG时间显示2017-10-10 06:00:006: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时间吗?

2 个答案:

答案 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'

比较应该可以正常工作。