2016-06-10 20 views
4

Ich versuche, die Zeit von dem Problem zu berechnen, erstellt wird und bis es gelöst ist. Mit diesen Feldern:Jira Python Zeit berechnen

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

Ausgabe, wenn ich drucken:

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

Gibt es trotzdem kann ich minus die Auflösung von Datum und Uhrzeit mit dem Erstellungsdatum und Zeit zu finden, wie viel Zeit für ein Problem ausgegeben ?

Antwort

4

Analysieren Sie die Datum/Uhrzeit-Strings in ein geeignetes Datetime-Objekt und verwenden Sie diese, um Berechnungen durchzuführen.

This post erläutert, wie Sie eine Datum/Uhrzeit-Zeichenfolge analysieren, oder Sie können nur einen Blick auf die documentation for the strptime() method werfen.

Für Berechnungen gibt es Beispiele in this post und es gibt ausführliche Dokumentation . wird ein Timedelta Objekt

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 

Dauer und Sie duration.days, duration.seconds zugreifen können:

Als Beispiel so etwas wie dies sollte zu einer Lösung der Nähe und duration.microseconds um seine Informationen zu erhalten.

strptime hat als Nachteil, dass es Zeitzonen nicht analysiert, so dass Sie zuerst diesen Teil Ihrer Eingabe schneiden müssen. Alternativ siehe this post.

+0

Wie wird das in meinem Fall sein? – user3580316

+0

Ein Beispiel hinzugefügt, das nahe an dem sein sollte, was Sie brauchen. – GlennV

+1

Ich erhalte diesen Fehler 'ValueError: 'z' ist eine schlechte Direktive im Format '% Y-% m-% dT% H:% M:% S.% f% z''Maye' datemutil' ist mehr ausreichend zu verwenden (http://stackoverflow.com/questions/6571419/python-parsing-a-datetime-with-a-timezone) – user3580316