2016-06-10 54 views
4

我想从问题创建到解决问题的时间。随着这些领域:吉拉蟒蛇计算时间

creation_time = issue.fields.created 
resolved_time = issue.fields.resolutiondate 

输出当我打印:

Creation: 2016-06-09T14:37:05.000+0200 Resolved: 2016-06-10T10:53:12.000+0200 

反正是有,我可以减去分辨率日期和时间的创建日期和时间来找到多少时间是花在一个问题?

回答

4

将日期/时间字符串解析为合适的日期时间对象,然后您可以使用它们进行计算。

This post解释如何解析日期/时间字符串,或者你可以看看documentation for the strptime() method

为了计算,在this post中有示例,并且有详细的文档here

作为一个例子,这样的事情应该是接近的解决方案:

from datetime import datetime 
from datetime import timedelta 

createdTime = datetime.strptime('2016-06-09T14:37:05.000+0200', '%Y-%m-%dT%H:%M:%S.%f') 
resolvedTime = datetime.strptime('2016-06-10T10:53:12.000+0200', '%Y-%m-%dT%H:%M:%S.%f') 

duration = resolvedTime - createdTime 

时间将是一个timedelta对象,你可以访问duration.daysduration.secondsduration.microseconds以获取其信息。

strptime确实有一个缺点,它不支持分析时区,所以您必须首先剪切输入部分。或者,请参阅this post

+0

这对我来说会如何? – user3580316

+0

添加了一个应该接近您需要的示例。 – GlennV

+1

我收到这个错误'ValueError:'z'是格式为'%Y-%m-%dT%H:%M:%S.%f%z'' Maye'dateutil'更糟的指令(http://stackoverflow.com/questions/6571419/python-parsing-a-datetime-with-a-timezone) – user3580316