Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在pyral中比较日期(在查询条件中)_Python_Pyral - Fatal编程技术网

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))