# Best way to find the months between two dates

| | | | | | | | |

👻 Check our latest review to choose the best laptop for Machine Learning engineers and Deep learning tasks!

I have the need to be able to accurately find the months between two dates in python. I have a solution that works but its not very good (as in elegant) or fast.

``````dateRange = [datetime.strptime(dateRanges[0], "%Y-%m-%d"), datetime.strptime(dateRanges[1], "%Y-%m-%d")]
months = []

tmpTime = dateRange[0]
oneWeek = timedelta(weeks=1)
tmpTime = tmpTime.replace(day=1)
dateRange[0] = tmpTime
dateRange[1] = dateRange[1].replace(day=1)
lastMonth = tmpTime.month
months.append(tmpTime)
while tmpTime < dateRange[1]:
if lastMonth != 12:
while tmpTime.month <= lastMonth:
tmpTime += oneWeek
tmpTime = tmpTime.replace(day=1)
months.append(tmpTime)
lastMonth = tmpTime.month

else:
while tmpTime.month >= lastMonth:
tmpTime += oneWeek
tmpTime = tmpTime.replace(day=1)
months.append(tmpTime)
lastMonth = tmpTime.month
``````

So just to explain, what I"m doing here is taking the two dates and converting them from iso format into python datetime objects. Then I loop through adding a week to the start datetime object and check if the numerical value of the month is greater (unless the month is December then it checks if the date is less), If the value is greater I append it to the list of months and keep looping through until I get to my end date.

It works perfectly it just doesn"t seem like a good way of doing it...

👻 Read also: what is the best laptop for engineering students?

## Best way to find the months between two dates __del__: Questions

How can I make a time delay in Python?

I would like to know how to put a time delay in a Python script.

2973

``````import time
time.sleep(5)   # Delays for 5 seconds. You can also use a float value.
``````

Here is another example where something is run approximately once a minute:

``````import time
while True:
print("This prints once a minute.")
time.sleep(60) # Delay for 1 minute (60 seconds).
``````

2973

You can use the `sleep()` function in the `time` module. It can take a float argument for sub-second resolution.

``````from time import sleep
sleep(0.1) # Time in seconds
``````

## Best way to find the months between two dates __del__: Questions

How to delete a file or folder in Python?

How do I delete a file or folder in Python?

2639

`Path` objects from the Python 3.4+ `pathlib` module also expose these instance methods:

We hope this article has helped you to resolve the problem. Apart from Best way to find the months between two dates, check other __del__-related topics.

Want to excel in Python? See our review of the best Python online courses 2023. If you are interested in Data Science, check also how to learn programming in R.

By the way, this material is also available in other languages:

Xu Nickolson

California | 2023-04-01

Maybe there are another answers? What Best way to find the months between two dates exactly means?. I am just not quite sure it is the best method

Davies Wu

Paris | 2023-04-01

Maybe there are another answers? What Best way to find the months between two dates exactly means?. I just hope that will not emerge anymore

Marie Wu

San Francisco | 2023-04-01

I was preparing for my coding interview, thanks for clarifying this - Best way to find the months between two dates in Python is not the simplest one. I am just not quite sure it is the best method

## Shop

Learn programming in R: courses

\$FREE

Best Python online courses for 2022

\$FREE

Best laptop for Fortnite

\$399+

Best laptop for Excel

\$

Best laptop for Solidworks

\$399+

Best laptop for Roblox

\$399+

Best computer for crypto mining

\$499+

Best laptop for Sims 4

\$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

PythonStackOverflow

Check if one list is a subset of another in Python

PythonStackOverflow

How to specify multiple return types using type-hints

PythonStackOverflow

Printing words vertically in Python

PythonStackOverflow

Python Extract words from a given string

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

PythonStackOverflow

Python os.path.join () method

PythonStackOverflow

Flake8: Ignore specific warning for entire file

## Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically