Working with Timedeltas
A bikram_sambat.timedelta object represents a duration, the difference between two dates or times. It’s a subclass of Python’s datetime.timedelta, so it works in exactly the same way.
Creating a Timedelta
You can create a timedelta object by specifying the duration in days, seconds, microseconds, milliseconds, minutes, hours, or weeks.
from bikram_sambat import timedelta
# A duration of 10 days
delta1 = timedelta(days=10)
print(f"Delta 1: {delta1}")
# >> Delta 1: 10 days, 0:00:00
# A duration of 5 hours and 30 minutes
delta2 = timedelta(hours=5, minutes=30)
print(f"Delta 2: {delta2}")
# >> Delta 2: 5:30:00
# A complex duration
delta3 = timedelta(weeks=2, days=3, hours=4, minutes=5, seconds=6, milliseconds=7, microseconds=8)
print(f"Delta 3: {delta3}")
# >> Delta 3: 17 days, 4:05:06.007008
Timedelta Arithmetic
You can perform arithmetic with timedelta objects.
from bikram_sambat import timedelta
delta1 = timedelta(days=1)
delta2 = timedelta(hours=12)
# Add two timedeltas
total_delta = delta1 + delta2
print(f"{delta1} + {delta2} = {total_delta}")
# >> 1 day, 0:00:00 + 12:00:00 = 1 day, 12:00:00
# Subtract two timedeltas
diff_delta = delta1 - delta2
print(f"{delta1} - {delta2} = {diff_delta}")
# >> 1 day, 0:00:00 - 12:00:00 = 12:00:00
# Multiply a timedelta by a number
multiplied_delta = delta1 * 2
print(f"{delta1} * 2 = {multiplied_delta}")
# >> 1 day, 0:00:00 * 2.5 = 2 days, 12:00:00
# Divide a timedelta by a number
divided_delta = delta1 / 2
print(f"{delta1} / 2 = {divided_delta}")
# >> 1 day, 0:00:00 / 2 = 12:00:00
Using Timedeltas with Dates and Datetimes
The primary use of timedelta objects is to perform arithmetic with date and datetime objects. See the Working with Dates and Working with Datetimes sections for more details.