2つの日付の間の月を見つけるための最良の方法

| | |

pythonで2つの日付の間の月を正確に見つけることができる必要があります。私はうまくいく解決策を持っていますが、それはあまり良くありません(エレガントのように)または速くはありません。

  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:whiletmpTime。月> = lastMonth:tmpTime + = oneWeek tmpTime = tmpTime.replace(day = 1)months.append(tmpTime)lastMonth = tmpTime.month  

説明のために、私は何をしますか?ここで行うのは、2つの日付を取得し、それらをiso形式からpython datetimeオブジェクトに変換することです。次に、開始日時オブジェクトに週を追加して、月の数値が大きいかどうかを確認します(月が12月でない場合は、日付が小さいかどうかを確認します)、値が大きい場合は、月のリストに追加し、終了日になるまでループを続けます。

完全に機能しますが、そうではないようです。それを行う良い方法...

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