2017-03-04 31 views
6
from datetime import datetime, timedelta 
current_time = datetime.now().time() 
new_time = current_time - timedelta(seconds=10) 
>> TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.timedelta' 

Jak mogę odjąć czas od obiektu datetime.time? Ten kod wydaje się działać tylko z obiektami datetime.datetime.Odejmij czas od obiektu datetime.time

Odpowiedz

2

Możesz po prostu odjąć 10 sekund od bieżącego obiektu datetime przed zwróceniem czasu.

current_time = (datetime.now() - timedelta(seconds=10)).time() 
2

Timedelta działa tylko na obiektach datetime.datetime i datetime.date. Ale zawsze można zrobić

current_dt = datetime.datetime.now() 
newdt = currentdt - datetime.delta(seconds=10) 
new_time = newdt.time() 
1

uzyskać czas po datetime odejmowania:

from datetime import datetime, timedelta 
current_time = datetime.now() 
new_time = current_time - timedelta(seconds=10) 
new_time = new_time.time() 
print new_time 

wyjściowa: 10: 56: 43,408337