February 8, 2025

Python datetime.timedelta() Function

The datetime.timedelta() function in Python is part of the datetime module and is used to represent the difference between two dates or times. It allows you to perform arithmetic operations with dates and times.

1. Importing the Module

Before using timedelta, you need to import it from the datetime module:

from datetime import timedelta
    

2. Creating timedelta Objects

You can create a timedelta object by specifying the number of days, seconds, microseconds, milliseconds, minutes, hours, and weeks:

# Create a timedelta object representing 5 days
delta = timedelta(days=5)

# Create a timedelta object representing 2 hours and 30 minutes
delta2 = timedelta(hours=2, minutes=30)

print(delta)  # Output: 5 days, 0:00:00
print(delta2)  # Output: 2:30:00
    

3. Performing Arithmetic with timedelta

You can use timedelta objects to perform arithmetic operations with datetime objects:

from datetime import datetime, timedelta

# Current date and time
now = datetime.now()

# Create a timedelta object representing 10 days
delta = timedelta(days=10)

# Calculate a future date
future_date = now + delta
print("Future Date:", future_date)

# Calculate a past date
past_date = now - delta
print("Past Date:", past_date)
    

4. Accessing timedelta Attributes

You can access the attributes of a timedelta object, such as days, seconds, and microseconds:

delta = timedelta(days=5, hours=3, minutes=30)

print("Days:", delta.days)  # Output: 5
print("Seconds:", delta.seconds)  # Output: 12600 (3 hours and 30 minutes in seconds)
print("Total Seconds:", delta.total_seconds())  # Output: 45300 (5 days + 3 hours and 30 minutes in seconds)
    

5. Practical Examples

Here are some practical examples of using timedelta:

Example 1: Calculate Age

from datetime import datetime, timedelta

birthdate = datetime(1990, 5, 15)
today = datetime.now()

# Calculate age
age = today - birthdate
print("Age:", age.days // 365)  # Approximate age in years
    

Example 2: Expiration Date

from datetime import datetime, timedelta

issue_date = datetime(2024, 1, 1)
expiration_period = timedelta(days=30)

# Calculate expiration date
expiration_date = issue_date + expiration_period
print("Expiration Date:", expiration_date)
    

6. Conclusion

The datetime.timedelta() function is a powerful tool for handling time differences in Python. It simplifies date and time arithmetic and helps manage time-related calculations effectively.