
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Perform Arithmetic Operations on a Date in Python
In this article, we will show you how to perform arithmetic operations on a date in Python. Now we see 5 examples for this task?
Adding days to a given Date
Subtracting days to a given Date
Adding Days and Hours to the given date
Subtracting months from a current date
Adding years for a given date
Example 1: Adding days to a given Date
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task ?
Use the import keyword, to import the datetime module.
Enter the date and create a variable to store it.
Enter the date format string and create a variable to store it.
Format the given date using the strptime() function (formats a time stamp in string format into a date?time object) and add 1 day to it using the timedelta() function (It is typically used to calculate differences between dates. It can also be used to manipulate dates in Python, and this function makes it very simple for users to do so).
Format the new date again using the strftime() function (returns a string that represents a datetime object based on the format codes) by passing the new date object and date format as an arguments to it.
Print the new Date after incrementing the old date with 1.
The following program returns the given date incremented by 1?
# importing datetime module import datetime # input date inputDate = '21-04-2013' # giving the date format date_format = '%d-%m-%Y' # formatting the date using strptime() function and adding 1 day to it date = datetime.datetime.strptime(inputDate, date_format) + datetime.timedelta(days=1) # Formatting the date date=date.strftime(date_format) # Printing the modified date print('New Date after incrementing old date {',inputDate,'} by 1 is:',date)
Output
New Date after incrementing old date { 21-04-2013 } by 1 is: 22-04-2013
Example 2: Subtracting days to a given Date
It is similar to the previous method, but this time we subtract the given date by some random number, say 2, as shown below.
The following program returns the given date decremented by 2?
import datetime # input date inputDate = '21-04-2013' # giving the date format date_format = '%d-%m-%Y' # formatting the date using strptime() function and subtracting 2 days from it date = datetime.datetime.strptime(inputDate, date_format) - datetime.timedelta(days=2) # Formatting the date date=date.strftime(date_format) # Printing the modified date print('New Date after decrementing old date {',inputDate,'} by 2 is:',date)
Output
New Date after decrementing old date { 21-04-2013 } by 2 is: 19-04-2013
Example 3: Adding Days and Hours to the given date
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task ?
Use the import keyword for importing the datetime, timedelta modules
Enter the current date and time using the datetime.now() function (returns the current local date and time) to get the current date and time in HH:MM:SS format.
Increment the current date with timedelta() function by passing the days and hours as an argument to it and store this new date in a variable.
Print the new Date after incrementing the old date with the given days and hours.
The following program returns the given date incremented by hours and days?
# importing datetime, timedelta modules from datetime import datetime, timedelta # getting the current date and time currentDate = datetime.now() print("The Current Date and Time = ", currentDate) # Incrementing the current date with some random days and hours newDate = currentDate + timedelta(days=4, hours=3) print('New Date:',newDate)
Output
The Current Date and Time = 2022-09-07 02:26:21.098855 New Date: 2022-09-11 05:26:21.098855
Example 4: Subtracting months from a current date
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task ?
Use the import keyword for importing the datetime, relativedelta modules
Enter the input date and time using the datetime() function.
Print the given input date and time.
Subtract n months(say 5) from the given date by passing the months as an argument to the relativedelta() function (The relativedelta type is intended to be applied to an existing datetime and can be used to replace specific components of that datetime or to represent a time interval).
Print the new Date after subtracting months from it.
The following program returns the given date subtracted by months?
# importing datetime, relativedelta modules import datetime from dateutil.relativedelta import relativedelta # input date and time in (yy,mm,dd,hh,mm,ss) inputDatetime = datetime.datetime(2019, 9, 12, 8, 40, 7) # printing the input date and time print("Input Date and time = ", inputDatetime) # Subtracting 5 months using the relativedelta function newDate = inputDatetime - relativedelta(months = 5) # Printing the modified date print("5 Months Ago = ", newDate)
Output
Input Date and time = 2019-09-12 08:40:07 5 Months Ago = 2019-04-12 08:40:07
Example 5: Adding years for a given date
The method is the same as the one above, but in this case we use the relativedelta() function to increment the given date from some arbitrary years, like 8
The following program returns the given date incremented by years?
# importing datetime, relativedelta modules import datetime from dateutil.relativedelta import relativedelta # input date and time in (yy,mm,dd,hh,mm,ss) inputDatetime = datetime.datetime(2019, 9, 12, 8, 40, 7) # printing the input date and time print("Input Date and time = ", inputDatetime) # Incrementing 8 years using the relativedelta function newDate = inputDatetime + relativedelta(years = 8) # Printing the modified date print("After 8 years = ", newDate)
Output
Input Date and time = 2019-09-12 08:40:07 After 8 years = 2027-09-12 08:40:07
Conclusion
In this article, we learned how to use five different examples to apply arithmetic operations for the given date, such as increasing and decreasing the years, months, days, and hours.