w3resource

Python: Get a list of dates between two dates

Python Datetime: Exercise-50 with Solution

Write a Python program to get a list of dates between two dates.

Sample Solution:

Python Code:

from datetime import timedelta, date

def daterange(date1, date2):
    for n in range(int ((date2 - date1).days)+1):
        yield date1 + timedelta(n)

start_dt = date(2015, 12, 20)
end_dt = date(2016, 1, 11)
for dt in daterange(start_dt, end_dt):
    print(dt.strftime("%Y-%m-%d"))
	

Sample Output:

2015-12-20                                                                                                    
2015-12-21                                                                                                    
2015-12-22                                                                                                    
2015-12-23                                                                                                    
2015-12-24                                                                                                    
2015-12-25                                                                                                    
2015-12-26                                                                                                    
2015-12-27                                                                                                    
2015-12-28                                                                                                    
2015-12-29                                                                                                    
2015-12-30                                                                                                    
2015-12-31   
-------
2016-01-08                                                                                                    
2016-01-09                                                                                                    
2016-01-10                                                                                                    
2016-01-11 

Flowchart:

Flowchart: Get a list of dates between two dates.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program to convert a string into datetime.
Next: Write a Python program to generate RFC 3339 timestamp.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Python: Tips of the Day

Time it:

timeit library is great for timing Python execution times. Just pass a function in string format to timeit.timeit() method and it will carry out 1 million executions to report the minimum time the code takes.

Its very useful to compare small code pieces and different functions but can be sluggish with big code.

Check out the example below demonstrating the execution time difference between 2 very similar list comprehension methods in Python:

import timeit
lst1='''list(range(100))'''
lst2='''[i for i in range(100)]'''
a=timeit.timeit(lst1)
b=timeit.timeit(lst2)
print(a, b, sep="------")

Output:

1.9301698543131351------5.389458132907748