2016-01-28 8 views
1

В приведенном ниже примере я создал два значения времени в виде строки, которые в формате, который я хочу использовать, strftime. Я хотел бы вычесть a от b, чтобы получить c. Какая недостающая строка кода мне нужно делать, что я хочу?Вычитает одну строку strftime из другого

import time 

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

time.sleep(5) 

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

c = b - a 

print c 

Благодаря

+1

Можем ли мы получить пример и вне дома? Похоже, вы должны играть с объектами 'datetime' и' timedelta', а не 'time'. В конечном счете строки не могут вычитать, поэтому вы не можете этого сделать, как только вы назовете «strftime». –

ответ

2

Похоже, вы пытаетесь найти, сколько времени между двумя точками. Вы должны использовать datetime объекты для этого (и вообще в 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 

В моем тестовом случае (вручную писать все к предст) Я получил

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

привет, спасибо, что ответили. Я в основном добрался до этого точного ответа сам, как вы отвечали, но спасибо в любом случае. я соглашусь через несколько минут, когда SO позволит мне .. – gdogg371