Python 如何在pyral中比较日期(在查询条件中)
我需要找到未更新的任务 标准如下所示:Python 如何在pyral中比较日期(在查询条件中),python,pyral,Python,Pyral,我需要找到未更新的任务 标准如下所示: 'iteration.Name = \"iterationName\" and State!=Completed and LastUpdateDate<'+str(datetime.datetime.now())+"'" 'iteration.Name=\'iterationName\'和状态=Completed and LastUpdateDate我在多个参数上也遇到了同样的问题,最后我不得不添加括号以使其正常工作 (('iteration.Na
'iteration.Name = \"iterationName\" and State!=Completed and LastUpdateDate<'+str(datetime.datetime.now())+"'"
'iteration.Name=\'iterationName\'和状态=Completed and LastUpdateDate我在多个参数上也遇到了同样的问题,最后我不得不添加括号以使其正常工作
(('iteration.Name = \"iterationName\") AND (State!=Completed)) AND (LastUpdateDate<'+str(datetime.datetime.now())+"'")
这个问题很久以前就被问到了,但对于那些希望在pyral中使用日期查询的人来说可能很有用
问题中的代码有几个问题:
datetime.datetime.now()
可能不会以Rally所需的格式返回日期,因此最好使用strftime
获得正确的格式
多个条件需要有一组正确的括号;例如:(((条件1)和(条件2))以及(条件3)和(条件4))
LastUpdateDate
必须早于当前日期(除非用户能够跳转到未来)
最好用双引号(“
)而不是单引号(”
)来写日期
下面是我用来识别在过去5天内未更新且未完成的任务的代码
iter_name = "2018-Iteration-4"
five_days_ago = datetime.datetime.now() - datetime.timedelta(days=5)
str_date = five_days_ago.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
tasks_not_updated = rally.get(
'Task',
query = '(((iteration.Name = "%s")'
' and (State != Completed))'
' and (LastUpdateDate < "%s"))' % (iter_name, str_date)
)
for task in tasks_not_updated:
print("%s (%s)" % (task.Name, task.State))
iter\u name=“2018-Iteration-4”
五天前=datetime.datetime.now()-datetime.timedelta(天=5)
str_date=五天前。strftime(“%Y-%m-%dT%H:%m:%S.%fZ”)
tasks\u not\u updated=rally.get(
“任务”,
查询='((iteration.Name=“%s”)'
'和(状态!=已完成))'
'和(LastUpdateDate<%s”)'%(iter_名称,str_日期)
)
对于未更新的任务中的任务:
打印(“%s(%s)”%(task.Name,task.State))
((((condition1) AND (condition2)) AND (condition3)) AND (condition4))
iter_name = "2018-Iteration-4"
five_days_ago = datetime.datetime.now() - datetime.timedelta(days=5)
str_date = five_days_ago.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
tasks_not_updated = rally.get(
'Task',
query = '(((iteration.Name = "%s")'
' and (State != Completed))'
' and (LastUpdateDate < "%s"))' % (iter_name, str_date)
)
for task in tasks_not_updated:
print("%s (%s)" % (task.Name, task.State))