Il modo migliore per trovare i mesi tra due date

| | |

Ho la necessità di poter trovare con precisione i mesi tra due date in Python. Ho una soluzione che funziona ma non è molto buona (come in elegante) o veloce.

dateRange = [datetime.strptime(dateRanges[0], "%Y-%m-%d"), datetime.strptime(dateRanges[1], "%Y-%m- %d")] mesi = [] tmpTime = dateRange[0] oneWeek = timedelta(settimane=1) tmpTime = tmpTime.replace(day=1) dateRange[0] = tmpTime dateRange[1] = dateRange[1].replace (giorno=1) lastMonth = tmpTime.month month.append(tmpTime) while tmpTime < dateRange[1]: if lastMonth != 12: while tmpTime.month <= lastMonth: tmpTime += oneWeek tmpTime = tmpTime.replace(day=1) mesi.append(tmpTime) lastMonth = tmpTime.month else: while tmpTime. month >= lastMonth: tmpTime += oneWeek tmpTime = tmpTime.replace(day=1) months.append(tmpTime) lastMonth = tmpTime.month 

Quindi, solo per spiegare, cosa devo" Qui sto prendendo le due date e convertendole dal formato iso in oggetti Python datetime. Quindi eseguo l'aggiunta di una settimana all'oggetto datetime di inizio e controllo se il valore numerico del mese è maggiore (a meno che il mese non sia dicembre, allora è controlla se la data è inferiore), se il valore è maggiore lo aggiungo all'elenco dei mesi e continuo a scorrere finché non arrivo alla data di fine.

Funziona perfettamente, semplicemente non sembra un buon modo per farlo...

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