Python date match with MySQL
我有以下代码:
1 2 3 4 5 6 7 8 9 10 | fixtures = StraightredFixture.objects.filter(soccerseason=soccerseason,fixturematchday=fixturematchday).order_by('fixturedate') firstGameTime = str(fixtures[0].fixturedate).split() currentTime = str(datetime.now().strftime("%Y-%m-%d %H:%M:%S")).split() if firstGameTime >= currentTime: selectteams = True else: selectteams = False |
无论第一次比赛的日期是什么,它总是返回错误的。两个例子如下:
1 2 3 4 5 6 7 | firstGameTime = ['2010-10-28', '11:30:00+00:00'] currentTime = ['2016-10-29', '10:51:50'] selectteams = False firstGameTime = ['2010-10-30', '11:30:00+00:00'] currentTime = ['2016-10-29', '10:53:16'] selectteams = False |
号
在第二个例子中,我希望它说的是真的,因为第一个游戏时间是30,而当前时间是29。
我觉得这和+00:00部分有关,但我对如何解决这个问题感到困惑。任何帮助都会被感激的,非常感谢,艾伦。
日期时间是直接可比的。不需要转换为字符串列表。
1 2 3 4 5 | firstGameTime = fixtures[0].fixturedate currentTime = datetime.now() if firstGameTime >= currentTime: ... |
但是,由于这是Django,您可以直接在查询中执行此操作:
1 2 3 4 5 | selectteams = StraightredFixture.objects.filter( soccerseason=soccerseason, fixturematchday=fixturematchday fixturedate__gte=datetime.now() ).exists() |
号