Open In App
Related Articles

Python | datetime.timedelta() function

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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. 

Syntax : datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 
Returns : Date

Code #1: 

Python3

# Timedelta function demonstration
 
from datetime import datetime, timedelta
 
 
# Using current time
ini_time_for_now = datetime.now()
 
# printing initial_date
print ("initial_date", str(ini_time_for_now))
 
# Calculating future dates
# for two years
future_date_after_2yrs = ini_time_for_now + \
                        timedelta(days = 730)
 
future_date_after_2days = ini_time_for_now + \
                         timedelta(days = 2)
 
# printing calculated future_dates
print('future_date_after_2yrs:', str(future_date_after_2yrs))
print('future_date_after_2days:', str(future_date_after_2days))

                    
Output:
initial_date 2019-02-27 12:41:45.018389
future_date_after_2yrs: 2021-02-26 12:41:45.018389
future_date_after_2days: 2019-03-01 12:41:45.018389


Code #2: 

Python3

# Timedelta function demonstration
from datetime import datetime, timedelta
 
 
# Using current time
ini_time_for_now = datetime.now()
 
# printing initial_date
print ('initial_date:', str(ini_time_for_now))
 
# Calculating past dates
# for two years
past_date_before_2yrs = ini_time_for_now - \
                       timedelta(days = 730)
 
# for two hours
past_date_before_2hours = ini_time_for_now - \
                        timedelta(hours = 2)
 
 
# printing calculated past_dates
print('past_date_before_2yrs:', str(past_date_before_2yrs))
print('past_date_before_2hours:', str(past_date_before_2hours))

                    
Output:
initial_date 2019-02-27 12:41:46.104662
past_date_before_2yrs: 2017-02-27 12:41:46.104662
past_date_after_2days: 2019-02-27 10:41:46.104662


Code #3: 

Python3

# Timedelta function demonstration
from datetime import datetime, timedelta
 
# Using current time
ini_time_for_now = datetime.now()
 
# printing initial_date
print ("initial_date", str(ini_time_for_now))
 
# Some another datetime
new_final_time = ini_time_for_now + \
                 timedelta(days = 2)
 
# printing new final_date
print ("new_final_time", str(new_final_time))
 
 
# printing calculated past_dates
print('Time difference:', str(new_final_time - \
                             ini_time_for_now))

                    
Output:
initial_date 2019-02-27 12:41:47.386595
new_final_time 2019-03-01 12:41:47.386595
Time difference: 2 days, 0:00:00

Subtracting a timedelta object from a date or datetime object:

Approach:

Create a timedelta object with the desired time difference.
Subtract the timedelta object from a date or datetime object using the – operator.

Python3

import datetime
 
today = datetime.date.today()
three_days_ago = today - datetime.timedelta(days=3)
 
print("Today:", today)
print("Three days ago:", three_days_ago)

                    

Output
Today: 2023-03-24
Three days ago: 2023-03-21

Time complexity: O(1)
Auxiliary Space: O(1)



Last Updated : 24 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads