Hurry! Try our new Interactive Courses for FREE. 🥳   🚀
  Signup/Sign In

How to add days to date in Python

In this article, we will learn how to add days to dates in Python. We will use some built-in modules available and some custom codes as well to see them working. Let's first have a quick look over what are dates in Python and then how can we compare them in Python.

Dates in Python

In Python, we can work on Date functions by importing a built-in module datetime available in Python. We have date objects to work with dates. We have time objects to work with time, date, and days as well. This datetime module contains date in the form of year, month, day, hour, minute, second, and microsecond. The datetime module has many methods to return information about the date object. It requires date, month, and year values to compute the function. Date and time functions are compared like mathematical expressions between various numbers.

In this article, we will learn about three different way in which we can add days to a date in python-

  1. Using datetime.timedelta() Function

  2. Using timedelta in datetime Module

  3. Using Pandas Module

In order to add days to a specific date, we will have to use the below module.

  1. datetime module: DateTime objects give date along with time in hours, minutes, seconds. The DateTime library provides manipulation to a combination of both date and time objects (month, day, year, seconds, and microseconds).
  2. timedelta module: Timedelta class represents the duration. The DateTime library provides timedelta method to carry out date-related manipulation and also calculate differences in time objects. It can be majorly used to perform arithmetic operations like addition, subtraction, and multiplication. By specifying the days attribute value, we can add days to the date specified.

Example: Add Days to a Date using datetime.timedelta() Function

In Python, we have a built-in datetime module It provides a datetime.timedelta() method which processes timedelta object. The number of days to be added is passed as an argument to the timedelta function and it returns the date in the given format that is year-month-date-hours:minutes:seconds. Another function of datetime is also used here that is datetime.strptime() method of datetime() module.

import datetime

current_date = "12/6/20"
current_date_temp = datetime.datetime.strptime(curr_date, "%m/%d/%y")
newdate = current_date_temp + datetime.timedelta(days=5)

print(new_date)


2020-12-11 00:00:00

Explanation- This example takes your given current date. A new variable is created to store the result of strptime() function. strptime() function takes the current date and specifiers to store in a variable. The new variable is added to timedelta whose parameter takes 5 as the number of days. The resultant date is showing 5 days extra from the given previous date.

Example: Add Days to the Current Date using timedelta

The Python built-in datetime module has the timedelta method itself besides the timedelta from its submodule datetime. The timedelta() method takes the number of days to be added as its argument and returns them in a date format that is year - month - date. The date module also has a today() method, which returns the current date.

from datetime import timedelta, date

Date_req = date.today() + timedelta(days=5)

print(Date_req)


2020-12-05

Explanation- This example is quite easy and uses one line of code to add the days to date. The current date is taken from date.today() function and 5 is added to the current day and the result is printed.

Example: Add Days to a Date using Pandas Module

Pandas module provides a to_datetime() method that takes a date as its argument and converts it into a pandas._libs.tslibs.timestamps. Timestamp object. Pandas will perform smart converting if the format of the date string is not given.

DateOffset() - This method takes the keyword arguments like days, months and etc. It returns a pandas.tseries.offsets.DateOffset object.

import pandas as pd

initial_date = "2019-05-12"
req_date = pd.to_datetime(initial_date) + pd.DateOffset(days=3)
print(req_date)


2019-12-08 00:00:00

Explanation- This example takes any date in a variable of your choice. It uses to_datetime() and passes the initial date as an argument to convert the initial date into datetime format. Similarly, dateoffset function is used to 3 days to the initial day and we get the resultant date.

Conclusion

In this article, we learned to add days to dates by passing the number of days to an argument either by using datetime module or timedelta module. We also used Pandas to add date using DateOffeset() the function. We used some custom codes as well. For example, we used a date example in the given format and add days to date.