I'm trying to do something like this:
time() + timedelta(hours=1)
however, Python doesn't allow it, apparently for good reason.
Does anyone have a simple work around?
You can also find the difference between two datetime objects to get a timedelta object and perform the comparison based on the positive or negative value returned by the timedelta. total_seconds() function. if seconds < 0: print('First date is less than the second date.
To calculate the total time difference in seconds, use the total_seconds() method on the timedelta object time_diff . tsecs = time_diff.
Python timedelta() function is present under datetime library which is generally used for calculating differences in dates and also can be used for date manipulations in Python. It is one of the easiest ways to perform date manipulations.
The solution is in the link that you provided in your question:
datetime.combine(date.today(), time()) + timedelta(hours=1)
Full example:
from datetime import date, datetime, time, timedelta dt = datetime.combine(date.today(), time(23, 55)) + timedelta(minutes=30) print dt.time()
Output:
00:25:00
If it's worth adding another file / dependency to your project, I've just written a tiny little class that extends datetime.time
with the ability to do arithmetic. If you go past midnight, it just wraps around:
>>> from nptime import nptime >>> from datetime import timedelta >>> afternoon = nptime(12, 24) + timedelta(days=1, minutes=36) >>> afternoon nptime(13, 0) >>> str(afternoon) '13:00:00'
It's available from PyPi as nptime
("non-pedantic time"), or on GitHub: https://github.com/tgs/nptime
The documentation is at http://tgs.github.io/nptime/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With