Python program to filter future dates
Write a Python program that implements a Python program that filters out dates (in the format "YYYY-MM-DD") that are in the future using the filter function.
Sample Solution:
Python Code:
from datetime import datetime
# Define a list of dates in "YYYY-MM-DD" format
date_strings = ["2023-07-11", "2022-02-22", "2024-05-11", "2025-12-31", "2021-01-01"]
print("List of dates:")
print(date_strings)
# Convert the date strings to datetime objects
dates = [datetime.strptime(date, "%Y-%m-%d") for date in date_strings]
# Get the current date
current_date = datetime.now()
print("Current date:",current_date)
# Define a function to check if a date is in the future
def is_date_in_future(date):
return date > current_date
# Use the filter function to extract dates in the past
dates_in_past = list(filter(is_date_in_future, dates))
# Convert the filtered dates back to strings
filtered_date_strings = [date.strftime("%Y-%m-%d") for date in dates_in_past]
print("\nCheck if a date is in the future!")
# Print the dates in the past
print(filtered_date_strings)
Explanation:
In the exercise above -
- First, we start with a list of date strings in the "YYYY-MM-DD" format.
- Convert date strings to datetime objects using datetime.strptime.
- We get the current date and time using datetime.now().
- Define a function "is_date_in_future()" that checks if a date is in the future by comparing it with the current date.
- Use the filter function to filter out dates in the future from the dates list by applying the "is_date_in_future()" function as the filtering condition.
- The filtered datetime objects are then converted back to date strings using strftime with the "YYYY-MM-DD" format.
- Finally, we print the dates in the future.
Sample Output:
List of dates: ['2023-07-11', '2022-02-22', '2024-05-11', '2025-12-31', '2021-01-01'] Current date: 2023-09-30 10:04:30.206035 Check if a date is in the future! ['2024-05-11', '2025-12-31']
Flowchart:
Python Code Editor:
Previous: Python function to filter strings with a specific substring.
Next: Python program to filter cities by population.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics