﻿ Python: Get the dates 30 days before and after from the current date - w3resource

# Python: Get the dates 30 days before and after from the current date

## Python Datetime: Exercise-28 with Solution

Write a Python program to get the dates 30 days before and after today.

Sample Solution:-

Python Code:

``````# Import the date and timedelta classes from the datetime module
from datetime import date, timedelta

# Get the current date and convert it to ISO 8601 format
current_date = date.today().isoformat()

# Calculate the date 30 days before the current date and convert it to ISO 8601 format
days_before = (date.today() - timedelta(days=30)).isoformat()

# Calculate the date 30 days after the current date and convert it to ISO 8601 format
days_after = (date.today() + timedelta(days=30)).isoformat()

# Print the current date, 30 days before the current date, and 30 days after the current date
print("\nCurrent Date: ", current_date)
print("30 days before current date: ", days_before)
print("30 days after current date : ", days_after)
```
```

Output:

```Current Date:  2017-05-06
30 days before current date:  2017-04-06
30 days after current date :  2017-06-05
```

Explanation:

In the exercise above,

• The code imports the "date" and "timedelta" classes from the "datetime" module.
• Calculating dates:
• It calculates three dates:
• current_date: It retrieves the current date using the "date.today()" method, converts it to the ISO 8601 format using the "isoformat()" method, and assigns it to the variable 'current_date'.
• days_before: It calculates the date 30 days before the current date using the "timedelta(days=30)" function to subtract 30 days from the current date, converts it to the ISO 8601 format using the "isoformat()" method, and assigns it to the variable 'days_before'.
• days_after: It calculates the date 30 days after the current date using the "timedelta(days=30)" function to add 30 days to the current date, converts it to the ISO 8601 format using the "isoformat()" method, and assigns it to the variable 'days_after'.
• Finally it prints the current date, the date 30 days before the current date, and the date 30 days after the current date using the "print()" function.

Flowchart:

Python Code Editor: