2016-01-28 6 views
1

Dans l'exemple ci-dessous, j'ai généré deux valeurs de temps sous la forme d'une chaîne au format que je souhaite utiliser strftime. Je voudrais soustraire a de b pour obtenir c. Quelle est la ligne de code manquante dont j'ai besoin pour faire ce que je veux?Soustrayez une chaîne strftime d'une autre

import time 

a = (time.strftime("%H:%M:%S")) 

time.sleep(5) 

b = (time.strftime("%H:%M:%S")) 

c = b - a 

print c 

Merci

+1

Pouvons-nous obtenir par exemple et sortir? Il semble que vous devriez jouer avec des objets 'datetime' et' timedelta', pas des objets 'time'. En fin de compte, les chaînes ne peuvent pas être soustraites, donc vous ne pouvez pas le faire une fois que vous avez appelé 'strftime'. –

Répondre

2

On dirait que vous essayez de trouver combien de temps entre deux points. Vous devez utiliser datetime objets pour cela (et en général en Python!)

import datetime 
import time 

before = datetime.datetime.now() # don't convert to string! 

time.sleep(5) # do some stuff.... 

after = datetime.datetime.now() 

delta = after - before 
# delta is a datetime.timedelta object. 

print(delta) 
# which by default stringifies to %H:%M:%S.%f 

Dans mon cas de test (écrire tout manuellement à un rééd) je suis arrivé

Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import datetime 
>>> before = datetime.datetime.now() 
>>> after = datetime.datetime.now() 
>>> delta = after - before 
>>> print(delta) 
0:00:05.239524 
+0

Salut, merci de répondre. J'ai essentiellement eu cette réponse exacte moi-même comme vous répondiez, mais merci quand même. je vais accepter dans quelques minutes quand SO me laisse .. – gdogg371