Najlepszy sposób na znalezienie miesięcy między dwiema datami

| | |

Muszę być w stanie dokładnie znaleźć miesiące między dwiema datami w Pythonie. Mam rozwiązanie, które działa, ale nie jest zbyt dobre (jak w eleganckim) ani szybkie.

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 (dzień=1) lastMonth = tmpTime.miesiąc 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 

Więc po prostu wyjaśnij, co ja" robię tutaj bierzemy dwie daty i konwertuję je z formatu iso na obiekty datetime python.Następnie robię pętlę poprzez dodanie tygodnia do obiektu datetime startu i sprawdzam czy wartośćliczbowa miesiąca jest większa (chyba że miesiąc to grudzień wtedy sprawdza, czy data jest mniejsza), jeśli wartość jest większa, dodaję ją do listy miesięcy i przeglądam ją, aż dotrę do mojej daty końcowej.

Działa idealnie, po prostu nie wydaje się dobry sposób na zrobienie tego...

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method