Reputation: 2625
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'
How can I substract time from a datetime.time object? This code seems working only with datetime.datetime objects.
Upvotes: 9
Views: 9768
Reputation: 36635
Get time after datetime subtraction:
from datetime import datetime, timedelta
current_time = datetime.now()
new_time = current_time - timedelta(seconds=10)
new_time = new_time.time()
print new_time
output: 10:56:43.408337
Upvotes: 1
Reputation: 29
Timedelta only works against datetime.datetime and datetime.date objects. But you could always do
current_dt = datetime.datetime.now()
newdt = currentdt - datetime.delta(seconds=10)
new_time = newdt.time()
Upvotes: 2
Reputation: 61225
You can just subtract 10 seconds from your current datetime
object before returning the time.
current_time = (datetime.now() - timedelta(seconds=10)).time()
Upvotes: 3